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

Contains a set of user-defined Property elements. Every Property element used in an MSBuild project must be a child of a PropertyGroup element.

<Project>
<PropertyGroup>

Syntax

<PropertyGroup Condition="'String A' == 'String B'">  
    <Property1>...</Property1>  
    <Property2>...</Property2>  
</PropertyGroup>  

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
Property Optional element.

A user defined property name, which contains the property value. There may be zero or more Property elements in a PropertyGroup element.

Parent Elements

Element Description
Project Required root element of an MSBuild project file.

Example

The following code example shows how to set properties based on a condition. In this example, if the value of the CompileConfig property is DEBUG, the Optimization, Obfuscate, and OutputPath properties inside of the PropertyGroup element are set.

<PropertyGroup Condition="'$(CompileConfig)' == 'DEBUG'" >  
    <Optimization>false</Optimization>  
    <Obfuscate>false</Obfuscate>  
    <OutputPath>$(OutputPath)\debug</OutputPath>  
</PropertyGroup>  

See Also

Project File Schema Reference
MSBuild Properties