Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 ItemGroup elemento.
<Progetto>
<ItemGroup>
<Articolo>
Sintassi
<Item Include="*.cs"
Exclude="MyFile.cs"
Condition="'String A'=='String B'">
<ItemMetadata1>...</ItemMetadata1>
<ItemMetadata2>...</ItemMetadata2>
</Item>
Specificare i metadati come attributi
È possibile specificare i metadati dell'elemento come attributi per come elementi figlio. Tutti i metadati con un nome che non è in conflitto con l'elenco corrente di attributi possono essere espressi come attributo.
Ad esempio, per specificare un elenco di pacchetti NuGet, in genere si usa una sintassi simile alla seguente.
<ItemGroup>
<PackageReference Include="Newtonsoft.Json">
<Version>9.0.1-beta1<Version>
</PackageReference>
</ItemGroup>
È tuttavia possibile passare i Version metadati come attributo, ad esempio nella sintassi seguente:
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1-beta1" />
</ItemGroup>
Attributi ed elementi
Le sezioni seguenti descrivono attributi, elementi figlio ed elementi padre.
Attributes
| Attribute | Description |
|---|---|
Include |
Attributo facoltativo. 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 altre informazioni, vedere Condizioni. |
Remove |
Attributo facoltativo. File o carattere jolly da rimuovere dall'elenco di elementi. |
MatchOnMetadata |
Attributo facoltativo.Remove Modifica gli attributi che fanno riferimento ad altri elementi in modo che corrispondano ai nomi di metadati specificati invece di corrispondere ai valori degli elementi a cui si fa riferimento. Questo attributo è valido solo se viene specificato insieme a un Remove attributo che contiene solo riferimenti ad altri elementi , ad esempio Remove="@(Compile);@(Content)". Altri dettagli in Elementi. |
MatchOnMetadataOptions |
Attributo facoltativo. Specifica la strategia di corrispondenza delle stringhe utilizzata da MatchOnMetadata. I valori possibili sono CaseSensitive, CaseInsensitiveo PathLike. Il valore predefinito è CaseInsensitive. |
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 di destinazione ha lo stesso Include valore ma metadati diversi, l'elemento viene aggiunto anche se KeepDuplicates è impostato su false. Per altre informazioni, vedere Items.Questo attributo è valido solo se è specificato per un elemento in un ItemGroup oggetto che si trova in un oggetto Target. |
KeepMetadata |
Attributo facoltativo. 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 Items. Questo attributo è valido solo se è specificato per un elemento in un ItemGroup oggetto che si trova in un oggetto Target. |
RemoveMetadata |
Attributo facoltativo. 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 delimitati da punto e virgola. Per altre informazioni, vedere Items. Questo attributo è valido solo se è specificato per un elemento in un ItemGroup oggetto che si trova in un oggetto Target. |
Update |
Attributo facoltativo. Disponibile solo per i progetti .NET Core in Visual Studio 2017 o versione successiva. Consente di modificare i metadati di un elemento; in genere usato per eseguire l'override dei metadati predefiniti di elementi specifici dopo che inizialmente viene specificato un gruppo di elementi, ad esempio con un carattere jolly. Questo attributo è valido solo se è specificato per un elemento in un ItemGroup oggetto che non si trova in un oggetto Target. |
Elementi figlio
| Elemento | Description |
|---|---|
| ItemMetadata | Chiave di metadati dell'elemento definita dall'utente, che contiene il valore dei metadati dell'elemento. In un elemento possono essere presenti zero o più ItemMetadata elementi. |
MSBuild interpreta gli elementi figlio sugli elementi dell'elemento come metadati dell'elemento.
Elementi padre
| Elemento | Description |
|---|---|
| ItemGroup | Elemento di raggruppamento per gli elementi. |
Osservazioni:
Item gli elementi definiscono gli input nel sistema di compilazione e vengono raggruppati in raccolte di elementi in base ai relativi nomi di raccolta definiti dall'utente. Queste raccolte di elementi possono essere usate come parametri per le attività, che usano i singoli elementi nelle raccolte per eseguire i passaggi del processo di compilazione. Per altre informazioni, vedere Items.
L'uso della notazione @(<myType>) consente l'espansione di 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 insieme a tutti i metadati associati. Per delimitare ogni elemento usando un carattere diverso da un punto e virgola, usare la sintassi @(<myType>, '<separator>').
Il motore MSBuild può valutare caratteri jolly, * ad esempio e e ? caratteri jolly ricorsivi, ad esempio /**/*.cs. Per altre informazioni, vedere Items.
Esempi
Nell'esempio di codice seguente viene illustrato come dichiarare due elementi di tipo CSFile. Il secondo elemento dichiarato contiene metadati MyMetadata impostati su HelloWorld.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</CSFile>
</ItemGroup>
Nell'esempio di codice seguente viene illustrato come usare l'attributo Update per modificare i metadati in un file denominato somefile.cs incluso tramite un glob. Disponibile solo per i progetti .NET Core in Visual Studio 2017 o versione successiva.
<ItemGroup>
<Compile Update="somefile.cs"> // or Update="*.designer.cs"
<MetadataKey>MetadataValue</MetadataKey>
</Compile>
</ItemGroup>