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>

Syntax

<ItemGroup Condition="'String A' == 'String B'"
           Label="Label">
    <Item1>... </Item1>
    <Item2>... </Item2>
</ItemGroup>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

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.

Elementos filho

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.

Elementos pai

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.

Exemplo

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.

Confira também