Elemento Item (MSBuild)
Contiene un elemento definito dall'utente e i relativi metadati. Ogni elemento usato in un progetto MSBuild deve essere specificato come elemento figlio di un elemento ItemGroup.
<Item Include="*.cs"
Exclude="MyFile.cs"
Remove="RemoveFile.cs"
Condition="'String A'=='String B'" >
<ItemMetadata1>...</ItemMetadata1>
<ItemMetadata2>...</ItemMetadata2>
</Item>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.
Attributi
Attributo |
Descrizione |
---|---|
Include |
Attributo obbligatorio. Il file o carattere jolly da includere nell'elenco di elementi. |
Exclude |
Attributo facoltativo. Il file o carattere jolly da escludere dall'elenco di elementi. |
Condition |
Attributo facoltativo. La condizione da valutare. Per altre informazioni, vedere Condizioni di MSBuild. |
Remove |
Attributo facoltativo. Il file o carattere jolly da eliminare dall'elenco di elementi. Questo attributo è valido solo se è stato specificato per un elemento in un ItemGroup che si trova in un Target. |
KeepMetadata |
Attributo facoltativo. I metadati per gli elementi di origine da aggiungere agli elementi di destinazione. Solo i metadati i cui nomi vengono specificati nell'elenco delimitato da punto e virgola vengono trasferiti da un elemento di origine a un elemento di destinazione. Per altre informazioni, vedere Elementi MSBuild. Questo attributo è valido solo se è stato specificato per un elemento in un ItemGroup che si trova in un Target. |
RemoveMetadata |
Attributo facoltativo. I metadati per gli elementi di origine da non trasferire agli elementi di destinazione. Tutti i metadati vengono trasferiti da un elemento di origine a un elemento di destinazione, ad eccezione dei metadati i cui nomi sono contenuti nell'elenco di nomi separati da punto e virgola. Per altre informazioni, vedere Elementi MSBuild. Questo attributo è valido solo se è stato specificato per un elemento in un ItemGroup che si trova in un Target. |
KeepDuplicates |
Attributo facoltativo. Specifica se un elemento deve essere aggiunto al gruppo di destinazione se è un duplicato esatto di un elemento esistente. Se l'elemento di origine e destinazione hanno lo stesso valore Include, ma metadati diversi, l'elemento viene aggiunto anche se KeepDuplicates è impostato su false. Per altre informazioni, vedere Elementi MSBuild. Questo attributo è valido solo se è stato specificato per un elemento in un ItemGroup che si trova in un Target. |
Elementi figlio
Elemento |
Descrizione |
---|---|
Chiave dei metadati di elemento definita dall'utente che contiene il valore dei metadati dell'elemento. Possono esistere zero o più elementi ItemMetadata in un elemento. |
Elementi padre
Elemento |
Descrizione |
---|---|
Elemento di raggruppamento per elementi. |
Note
Gli elementi Item definiscono gli input nel sistema di compilazione e vengono raggruppati in raccolte di elementi in base ai relativi nomi definiti dall'utente. Tali raccolte di elementi possono essere usate come parametri per le attività, le quali a loro volta usano i singoli elementi nelle raccolte per eseguire i passaggi del processo di compilazione. Per altre informazioni, vedere Elementi MSBuild.
L'uso della notazione @(myType) consente di espandere una raccolta di elementi di tipo myType in un elenco di stringhe delimitato da punto e virgola e passato a un parametro. Se il parametro è di tipo string, il valore del parametro è l'elenco di elementi, separati da punti e virgola. Se il parametro è una matrice di stringhe (string[]), ogni elemento viene inserito nella matrice in base alla posizione dei punti e virgola. Se il parametro dell'attività è di tipo ITaskItem[], il valore è il contenuto della raccolta di elementi con eventuali metadati associati. Per delimitare ciascun elemento usando un carattere diverso da un punto e virgola, usare la sintassi @(myType, 'separatore').
Il motore MSBuild può valutare caratteri jolly come per esempio * e ? e i caratteri jolly ricorsivi come per esempio /**/*.cs. Per altre informazioni, vedere Elementi MSBuild.
Esempio
Nell'esempio di codice seguente viene illustrato come dichiarare due elementi di tipo CSFile. Il secondo elemento dichiarato contiene i metadati con MyMetadata impostato su HelloWorld.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</CSFile>
</ItemGroup>