Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Contém um item definido pelo usuário e seus metadados. Cada item que é usado em um projeto MSBuild deve ser especificado como um filho de um ItemGroup elemento .
<Projeto>
<Grupo de Itens>
<Número>
Sintaxe
<Item Include="*.cs"
Exclude="MyFile.cs"
Condition="'String A'=='String B'">
<ItemMetadata1>...</ItemMetadata1>
<ItemMetadata2>...</ItemMetadata2>
</Item>
Especificar metadados como atributos
Você pode especificar metadados de item como atributos para como elementos filho. Qualquer metadados com um nome que não entre em conflito com a lista atual de atributos pode ser expresso como um atributo.
Por exemplo, para especificar uma lista de pacotes NuGet, você normalmente usaria algo como a sintaxe a seguir.
<ItemGroup>
<PackageReference Include="Newtonsoft.Json">
<Version>9.0.1-beta1<Version>
</PackageReference>
</ItemGroup>
Agora, no entanto, você pode passar os Version metadados como um atributo, como na sintaxe a seguir:
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1-beta1" />
</ItemGroup>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Attributes
| Attribute | Description |
|---|---|
Include |
Atributo opcional. O arquivo ou curinga a ser incluído na lista de itens. |
Exclude |
Atributo opcional. O arquivo ou curinga a ser excluído da lista de itens. |
Condition |
Atributo opcional. A condição a ser avaliada. Para obter mais informações, consulte Condições. |
Remove |
Atributo opcional. O arquivo ou curinga a ser removido da lista de itens. |
MatchOnMetadata |
Atributo opcional. Modifica Remove atributos que fazem referência a outros itens para corresponder nos nomes de metadados especificados em vez de corresponder nos valores dos itens referenciados. Este atributo só é válido se for especificado juntamente com um Remove atributo que contenha apenas referências a outros itens (por exemplo, Remove="@(Compile);@(Content)"). Mais detalhes em Itens. |
MatchOnMetadataOptions |
Atributo opcional. Especifica a estratégia de correspondência de cadeia de caracteres usada pelo MatchOnMetadata. Os valores possíveis são CaseSensitive, CaseInsensitive, ou PathLike. O valor predefinido é CaseInsensitive. |
KeepDuplicates |
Atributo opcional. Especifica se um item deve ser adicionado ao grupo-alvo se for uma duplicata exata de um item existente. Se o item de origem e o item de destino tiverem o mesmo Include valor, mas metadados diferentes, o item será adicionado mesmo que KeepDuplicates esteja definido como false. Para obter mais informações, consulte Itens.Esse atributo só é válido se for especificado para um item em um ItemGroup arquivo Target. |
KeepMetadata |
Atributo opcional. Os metadados para os itens de origem a serem adicionados aos itens de destino. Somente os metadados cujos nomes são especificados na lista delimitada por ponto-e-vírgula são transferidos de um item de origem para um item de destino. Para obter mais informações, consulte Itens. Esse atributo só é válido se for especificado para um item em um ItemGroup arquivo Target. |
RemoveMetadata |
Atributo opcional. Os metadados para os itens de origem não serem transferidos para os itens de destino. Todos os metadados são transferidos de um item de origem para um item de destino, exceto os metadados cujos nomes estão contidos na lista de nomes delimitada por ponto-e-vírgula. Para obter mais informações, consulte Itens. Esse atributo só é válido se for especificado para um item em um ItemGroup arquivo Target. |
Update |
Atributo opcional. (Disponível apenas para projetos .NET Core no Visual Studio 2017 ou posterior.) Permite modificar metadados de um item; normalmente usado para substituir os metadados padrão de itens específicos depois que um grupo de itens é especificado inicialmente (como com um curinga). Esse atributo só é válido se for especificado para um item em um ItemGroup que não esteja em um Targetarquivo . |
Elementos filho
| Elemento | Description |
|---|---|
| ItemMetadata | Uma chave de metadados de item definida pelo usuário, que contém o valor de metadados do item. Pode haver zero ou mais ItemMetadata elementos em um item. |
MSBuild interpreta elementos filho em elementos de item como metadados de item.
Elementos pai
| Elemento | Description |
|---|---|
| Grupo de Itens | Elemento de agrupamento para itens. |
Observações
Item Os elementos definem entradas no sistema de compilação e são agrupados em coleções de itens com base em seus nomes de coleção definidos pelo usuário. Essas coleções de itens podem ser usadas como parâmetros para tarefas, que usam os itens individuais nas coleções para executar as etapas do processo de compilação. Para obter mais informações, consulte Itens.
O uso da notação @(<myType>) permite que uma coleção de itens do tipo <myType> seja expandida em uma lista delimitada por ponto-e-vírgula de cadeias de caracteres e passada para um parâmetro. Se o parâmetro for do tipo string, então o valor do parâmetro é a lista de elementos, separados por ponto-e-vírgula. Se o parâmetro for uma matriz de cadeias de caracteres (string[]), cada elemento será inserido na matriz com base na localização dos ponto-e-vírgula. Se o parâmetro task for do tipo ITaskItem[], o valor será o conteúdo da coleção de itens juntamente com quaisquer metadados anexados. Para delimitar cada item usando um caractere diferente de ponto-e-vírgula, use a sintaxe @(<myType>, '<separador>').
O mecanismo MSBuild pode avaliar curingas, como * e ? curingas recursivos, como /*/*.cs. Para obter mais informações, consulte Itens.
Examples
O exemplo de código a seguir mostra como declarar dois itens do tipo CSFile. O segundo item declarado contém metadados definidos MyMetadata como HelloWorld.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</CSFile>
</ItemGroup>
O exemplo de código a seguir mostra como usar o Update atributo para modificar os metadados em um arquivo chamado somefile.cs que foi incluído por meio de um glob. (Disponível apenas para projetos .NET Core no Visual Studio 2017 ou posterior.)
<ItemGroup>
<Compile Update="somefile.cs"> // or Update="*.designer.cs"
<MetadataKey>MetadataValue</MetadataKey>
</Compile>
</ItemGroup>