ItemGroup Element (MSBuild)

Note

This article applies to Visual Studio 2015. If you're looking for Visual Studio 2017 documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2017. Download it here.

The latest version of this topic can be found at 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.

<Project>
<ItemGroup>

Syntax

<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 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.
Target Starting with .NET Framework 3.5, the ItemGroup element can appear inside a Target element. For more information, see Targets.

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

See Also

Project File Schema Reference
Items
Common MSBuild Project Items