ItemGroup-Element (MSBuild)

Enthält eine Reihe von benutzerdefinierten Item-Elementen. Jedes Element, das in einem MSBuild-Projekt verwendet wird, muss als untergeordnetes Element eines ItemGroup-Elements angegeben werden.

<Project><ItemGroup>

Syntax

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

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Attribut Beschreibung
Condition Optionales Attribut. Die auszuwertende Bedingung. Weitere Informationen finden Sie unter Conditions (MSBuild-Bedingungen).
Label Optionales Attribut. Identifiziert die ItemGroup.

Untergeordnete Elemente

Element Beschreibung
Item Definiert die Eingaben für den Buildprozess. Es kann keine oder mehrere Item-Elemente in einer ItemGroup geben.

Zusätzlich zum generischen Item-Element ermöglicht ItemGroup untergeordnete Elemente, die Typen von Elementen darstellen, z. B. Reference, ProjectReference, Compile und andere, wie unter Common MSBuild-Projektelementen beschrieben.

Übergeordnete Elemente

Element Beschreibung
Projekt Erforderliches Stammelement einer MSBuild-Projektdatei.
Target Ab.NET Framework 3.5 kann das ItemGroup-Element innerhalb eines Target-Elements angezeigt werden. Weitere Informationen finden Sie unter Ziele.

Beispiel

Im folgenden Codebeispiel werden die benutzerdefinierten Elementsammlungen Res und CodeFiles gezeigt, die innerhalb eines ItemGroup-Element deklariert sind. Jedes der Elemente in der Res-Elementsammlung enthält ein benutzerdefiniertes untergeordnetes ItemMetadata-Element.

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

In einer einfachen Projektdatei verwenden Sie normalerweise ein einzelnes ItemGroup-Element, Sie können aber auch mehrere ItemGroup-Elemente verwenden. Wenn mehrere ItemGroup-Elemente verwendet werden, werden Elemente in einer einzelnen ItemGroupkombiniert. Beispielsweise können einige Elemente in einem separaten ItemGroup-Element enthalten sein, das in einer importierten Datei definiert wird.

Auf ItemGroups können Bedingungen mithilfe des Condition-Attributs angewendet werden. In diesem Fall werden die Elemente der Elementliste nur dann hinzugefügt, wenn die Bedingung erfüllt ist. Weitere Informationen finden Sie unter MSBuild-Bedingungen.

Das Attribut Label wird in einigen Buildsystemen als Möglichkeit zur Steuerung des Buildverhaltens verwendet. Sie können es nur in Deklarationen als eine Möglichkeit nutzen, um verständlichere MSBuild-Skripts zu erstellen, oder als eine Steuerungseinstellung, um Buildaktionen zu beeinflussen.

Siehe auch