Condividi tramite


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

ItemMetadata

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

ItemGroup

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>

Vedere anche

Concetti

Elementi MSBuild

Proprietà di MSBuild

Riferimenti dello schema del file di progetto MSBuild