ItemGroup Element (MSBuild)

Contains a set of user-defined Item elements. Every item used in a MSBuild project must be specified as a child of an ItemGroup element.

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

Attributes and Elements

The following sections describe attributes, child elements, and parent elements.

Attributes

Attribute Description

Condition

Optional attribute. Condition to be evaluated. For more information, see MSBuild Conditions.

Child Elements

Element Description

Item

Defines the inputs for the build process. There may be zero or more Item elements in an ItemGroup.

Parent Elements

Element Description

Project

Required root element of an MSBuild project file.

Remarks

Example

The following code example shows the user-defined item collections Res and CodeFiles declared inside of an ItemGroup element. Each of the items in the Res item collection contains a user-defined child ItemMetadata element.

<Project xmlns="https://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>

See Also

Concepts

MSBuild Project File Schema Reference
MSBuild Items