ItemGroup, élément (MSBuild)

Contient un ensemble d’éléments Item définis par l’utilisateur. Chaque élément utilisé dans un projet MSBuild doit être spécifié en tant qu’enfant d’un élément ItemGroup.

<Project><ItemGroup>

Syntaxe

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description
Condition Attribut facultatif. Condition à évaluer. Pour plus d’informations, consultez l’article Conditions (Conditions MSBuild).
Label Attribut facultatif. Identifie le ItemGroup.

Éléments enfants

Élément Description
Item Définit les entrées du processus de génération. Un élément ItemGroup peut ne contenir aucun élément Item ou en contenir plusieurs.

En plus de l’élément générique Item, ItemGroup autorise les éléments enfants qui représentent des types d’éléments, tels que Reference, ProjectReference, Compile et d’autres, comme répertoriés dans Éléments de projet MSBuild communs.

Éléments parents

Élément Description
Projet Élément racine obligatoire d’un fichier projet MSBuild.
Cible Depuis .NET Framework 3.5, l’élément ItemGroup peut apparaître dans un élément Target. Pour plus d’informations, consultez l’article Targets (Cibles MSBuild).

Exemple

L’exemple de code suivant illustre les collections d’éléments définis par l’utilisateur Res et CodeFiles déclarés dans un élément ItemGroup. Chacun des éléments de la collection d’éléments Res contient un élément ItemMetadata enfant défini par l’utilisateur.

<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>

Dans un fichier projet simple, vous utilisez normalement un seul élément ItemGroup, mais vous pouvez également utiliser plusieurs éléments ItemGroup. Lorsque plusieurs éléments ItemGroup sont utilisés, les éléments sont combinés en un seul ItemGroup. Par exemple, certains éléments peuvent être inclus par un élément ItemGroup distinct défini dans un fichier importé.

ItemGroups peut avoir des conditions appliquées à l’aide de l’attribut Condition. Dans ce cas, les éléments sont ajoutés uniquement à la liste d’éléments si la condition est satisfaite. Consultez Conditions MSBuild

L’attribut Label est utilisé dans certains systèmes de génération comme moyen de contrôler les comportements de génération. Vous pouvez l’utiliser uniquement dans les déclarations, comme moyen de créer des scripts MSBuild plus compréhensibles ou en tant que paramètre de contrôle pour affecter les actions de génération.

Voir aussi