MSBuild Conditions
MSBuild supports a specific set of conditions that can be applied wherever a Condition attribute is allowed. The following table explains those conditions.
Condition |
Description |
---|---|
'stringA' == 'stringB' |
Evaluates to true if stringA equals stringB. For example: Condition="'$(CONFIG)'=='DEBUG'" Single quotes are not required for simple alphanumeric strings or boolean values. However, single quotes are required for empty values. |
'stringA' != 'stringB' |
Evaluates to true if stringA is not equal to stringB. For example: Condition="'$(CONFIG)'!='DEBUG'" Single quotes are not required for simple alphanumeric strings or boolean values. However, single quotes are required for empty values. |
<, >, <=, >= |
Evaluates the numeric values of the operands. Returns true if the relational evaluation is true. Operands must evaluate to a decimal or hexadecimal number. Hexadecimal numbers must begin with "0x". Note In XML, the characters < and > must be escaped. The symbol < is represented as <. The symbol > is represented as >. |
Exists('stringA') |
Evaluates to true if a file or folder with the name stringA exists. For example: Condition="!Exists('$(builtdir)')" Single quotes are not required for simple alphanumeric strings or boolean values. However, single quotes are required for empty values. |
HasTrailingSlash('stringA') |
Evaluates to true if the specified string contains either a trailing backward slash (\) or forward slash (/) character. For example: Condition="!HasTrailingSlash('$(OutputPath)')" Single quotes are not required for simple alphanumeric strings or boolean values. However, single quotes are required for empty values. |
! |
Evaluates to true if the operand evaluates to false. |
And |
Evaluates to true if both operands evaluate to true. |
Or |
Evaluates to true if at least one of the operands evaluates to true. |
() |
Grouping mechanism that evaluates to true if expressions contained inside evaluate to true. |
See Also
Reference
MSBuild Conditional Constructs