Elemento ItemGroup (MSBuild)
Contém um conjunto de elementos Item definidos pelo usuário. Cada item usado em um projeto MSBuild deve ser especificado como filho de um elemento ItemGroup
.
<Project><ItemGroup>
<ItemGroup Condition="'String A' == 'String B'"
Label="Label">
<Item1>... </Item1>
<Item2>... </Item2>
</ItemGroup>
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributo | Descrição |
---|---|
Condition |
Atributo opcional. Condição a ser avaliada. Para obter mais informações, consulte Condições. |
Label |
Atributo opcional. Identifica o ItemGroup . |
Elemento | Descrição |
---|---|
Item | Define as entradas do processo de build. Pode não haver nenhum ou pode haver mais de um elemento Item em um ItemGroup . |
Além do elemento genérico Item
, ItemGroup permite elementos filho que representam tipos de itens, como Reference
, ProjectReference
, Compile
e outros, conforme listado em itens de projeto comuns do MSBuild.
Elemento | Descrição |
---|---|
Projeto | Elemento raiz necessário de um arquivo de projeto do MSBuild. |
Target (destino) | A partir do .NET Framework 3.5, o elemento ItemGroup pode aparecer dentro de um elemento Target . Para obter mais informações, consulte Destinos. |
O exemplo de código a seguir mostra as coleções de itens definidos pelo usuário Res
e CodeFiles
, declaradas dentro de um elemento ItemGroup
. Cada um dos itens na coleção de itens Res
contém um elemento ItemMetadata filho definido pelo usuário.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Res Include = "Strings.fr.resources" >
<Culture>fr</Culture>
</Res>
<Res Include = "Dialogs.fr.resources" >
<Culture>fr</Culture>
</Res>
<CodeFiles Include="**\*.cs" Exclude="**\generated\*.cs" />
<CodeFiles Include="..\..\Resources\Constants.cs" />
</ItemGroup>
...
</Project>
Em um arquivo de projeto simples, você normalmente usa um único ItemGroup
elemento, mas também pode usar vários elementos ItemGroup
. Quando vários elementos ItemGroup
são usados, os itens são combinados em um único ItemGroup
. Por exemplo, alguns itens podem ser incluídos por um elemento separado ItemGroup
definido em um arquivo importado.
ItemGroups podem ter condições aplicadas usando o atributo Condition
. Nesse caso, os itens só serão adicionados à lista de itens se a condição for atendida. Confira Condições do MSBuild
O atributo Label
é usado em alguns sistemas de build como uma forma de controlar comportamentos de build. Você pode usá-lo somente em declarações, como uma maneira de criar scripts MSBuild mais compreensíveis ou como uma configuração de controle para afetar as ações de build.