Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Contém um item definido pelo usuário e seus metadados. Cada item usado em um projeto do MSBuild deve ser especificado como um filho de um ItemGroup elemento.
<Projeto>
<ItemGroup>
<Item>
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 elementos filho. Todos os metadados com um nome que não esteja em conflito com a lista atual de atributos podem ser expressos 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 seguinte sintaxe:
<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 atributos Remove que fazem referência a outros itens para corresponder aos nomes de metadados especificados em vez de corresponderem aos valores dos itens referenciados. Esse atributo só será válido se for especificado junto com um Remove atributo que contém 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 por MatchOnMetadata. Os valores possíveis são CaseSensitive, CaseInsensitive, ou PathLike. O valor padrão é CaseInsensitive. |
KeepDuplicates |
Atributo opcional. Especifica se um item deve ser adicionado ao grupo de destino se for uma duplicata exata de um item existente. Se o item de origem e de destino tiver 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ó será válido se for especificado para um item em um ItemGroup que esteja em um Target. |
KeepMetadata |
Atributo opcional. Os metadados dos 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ó será válido se for especificado para um item em um ItemGroup que esteja em um Target. |
RemoveMetadata |
Atributo opcional. Os metadados dos itens de origem para 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 metadados cujos nomes estão contidos na lista delimitada por ponto-e-vírgula de nomes. Para obter mais informações, consulte Itens. Esse atributo só será válido se for especificado para um item em um ItemGroup que esteja em um Target. |
Update |
Atributo opcional. (Disponível apenas para projetos do .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ó será válido se for especificado para um item em um ItemGroup que não esteja em um Target. |
Elementos filho
| Elemento | Description |
|---|---|
| ItemMetadata | Uma chave de metadados de item definida pelo usuário, que contém o valor dos metadados do item. Pode haver zero ou mais ItemMetadata elementos em um item. |
O MSBuild interpreta elementos filho em elementos de item como metadados de item.
Elementos pai
| Elemento | Description |
|---|---|
| ItemGroup | Elemento de agrupamento para itens. |
Observações
Item os elementos definem entradas no sistema de build 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 build. 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 para 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, o valor do parâmetro será 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 no local dos ponto e vírgula. Se o parâmetro de tarefa for do tipo ITaskItem[], o valor será o conteúdo da coleção de itens junto com os metadados anexados. Para delimitar cada item usando um caractere diferente de um ponto-e-vírgula, use a sintaxe @(<myType>, '<separador>').
O mecanismo MSBuild pode avaliar curingas como * curingas e ? recursivos, como /**/*.cs. Para obter mais informações, consulte Itens.
Exemplos
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 do .NET Core no Visual Studio 2017 ou posterior.)
<ItemGroup>
<Compile Update="somefile.cs"> // or Update="*.designer.cs"
<MetadataKey>MetadataValue</MetadataKey>
</Compile>
</ItemGroup>