ItemDefinitionGroup Element (MSBuild)

 

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

The ItemDefinitionGroup element lets you define a set of Item Definitions, which are metadata values that are applied to all items in the project, by default. ItemDefinitionGroup supersedes the need to use the CreateItem Task and the CreateProperty Task. For more information, see Item Definitions.

<Project>
<ItemDefinitionGroup>

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

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

Attributes

AttributeDescription
ConditionOptional attribute. Condition to be evaluated. For more information, see Conditions.

Child Elements

ElementDescription
ItemDefines the inputs for the build process. There may be zero or more Item elements in an ItemDefinitionGroup.

Parent Elements

ElementDescription
ProjectRequired root element of an MSBuild project file.

The following code example defines two metadata items, m and n, in an ItemDefinitionGroup. In this example, the default metadata "m" is applied to Item "i" because metadata "m" is not explicitly defined by Item "i". However, default metadata "n" is not applied to Item "i" because metadata "n" is already defined by Item "i".

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
    <ItemDefinitionGroup>  
        <i>  
            <m>m1</m>  
            <n>n1</n>  
        </i>        
    </ItemDefinitionGroup>  
    <ItemGroup>  
        <i Include="a">  
            <o>o1</o>  
            <n>n2</n>  
        </i>  
    </ItemGroup>  
    ...  
</Project>  

Project File Schema Reference
Items

Show: