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. |
| ! | 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. |
Reference
MSBuild Conditional Constructs
Other Resources
MSBuild Reference