Elemento Item (MSBuild)
Contiene un elemento definito dall'utente e i relativi metadati.Ogni elemento utilizzato 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. File o carattere jolly da includere nell'elenco di elementi. |
Exclude |
Attributo facoltativo. File o carattere jolly da escludere dall'elenco di elementi |
Condition |
Attributo facoltativo. Condizione da valutare.Per ulteriori informazioni, vedere Condizioni di MSBuild. |
Remove |
Attributo facoltativo. File o carattere jolly da rimuovere dall'elenco di elementi. Questo attributo è valido solo se specificato per un elemento in ItemGroup in Target. |
KeepMetadata |
Attributo facoltativo. I metadati degli elementi di origine aggiunti agli elementi di destinazione.Solo i metadati dei cui nomi sono specificati nell'elenco delimitato da punti e virgola vengono trasferiti da un elemento originale a un elemento di destinazione.Per ulteriori informazioni, vedere Elementi MSBuild. Questo attributo è valido solo se specificato per un elemento in ItemGroup in Target. |
RemoveMetadata |
Attributo facoltativo. I metadati degli elementi originali non trasferiscano agli elementi di destinazione.Tutti i metadati vengono trasferiti da un elemento originale a un elemento di destinazione eccetto i metadati dei cui nomi sono contenuti nell'elenco delimitato da punti e virgola dei nomi.Per ulteriori informazioni, vedere Elementi MSBuild. Questo attributo è valido solo se specificato per un elemento in ItemGroup in Target. |
KeepDuplicates |
Attributo facoltativo. Specifica se un elemento viene aggiunto al gruppo-obiettivo se è un duplicato esatto di un elemento esistente.Se l'elemento di origine e di destinazione con lo stesso valore Include ma metadati diversi, l'elemento viene aggiunto anche se KeepDuplicates è impostato su false.Per ulteriori informazioni, vedere Elementi MSBuild. Questo attributo è valido solo se specificato per un elemento in ItemGroup in Target. |
Elementi figlio
Elemento |
Descrizione |
---|---|
Chiave di metadati dell'elemento definito dall'utente, che contiene il valore dei metadati dell'elemento.In un elemento possono essere presenti zero o più elementi ItemMetadata. |
Elementi padre
Elemento |
Descrizione |
---|---|
Elemento di raggruppamento per gli elementi. |
Note
Gli elementi Item definiscono valori da immettere nel sistema di compilazione e vengono raggruppati in raccolte in base ai relativi nomi di raccolta definiti dall'utente.Questi raccolte di elementi possono essere utilizzati come parametri per le attività in cui si utilizzano i singoli elementi contenuti nelle raccolte per eseguire le fasi del processo di compilazione.Per ulteriori informazioni, vedere Elementi MSBuild.
La notazione @(tipo) consente di espandere una raccolta di elementi di tipo tipo in un elenco di stringhe delimitate da punti e virgola e di passarlo a un parametro.Se il parametro è di tipo string, il relativo valore corrisponde all'elenco di elementi separati da punti e virgola.Se il parametro è una matrice di stringhe (string[]), ciascun elemento viene inserito nella matrice in base alla posizione dei punti e virgola.Se il parametro dell'attività è di tipo ITaskItem[], il valore corrisponde al contenuto della raccolta di elementi con gli eventuali metadati associati.Per delimitare ciascun elemento con un carattere diverso da un punto e virgola, utilizzare la sintassi @(tipo, 'separatore').
Tramite il motore MSBuild è possibile restituire caratteri jolly quali * e ? e caratteri jolly ricorsivi quali /**/*.cs.Per ulteriori informazioni, vedere Elementi MSBuild.
Esempio
Nell'esempio di codice riportato di seguito viene illustrato come dichiarare due elementi di tipo CSFile.Nel secondo elemento dichiarato sono contenuti i metadati nei quali myAttribute è impostato su HelloWorld.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</CSFile>
</ItemGroup>