MSBuild 条件
MSBuild 支持一组特定的条件,这些条件可以应用于允许使用 Condition 特性的任何情况。 下表说明了这些条件。
Condition |
描述 |
---|---|
'stringA' == 'stringB' |
如果 stringA 等于 stringB,则计算结果为 true。 例如: Condition="'$(CONFIG)'=='DEBUG'" 对于简单的字母数字字符串或布尔值,不需要使用单引号。 但是,空值需要使用单引号。 |
'stringA' != 'stringB' |
如果 stringA 不等于 stringB,则计算结果为 true。 例如: Condition="'$(CONFIG)'!='DEBUG'" 对于简单的字母数字字符串或布尔值,不需要使用单引号。 但是,空值需要使用单引号。 |
<、>、<=、>= |
计算操作数的数值。 如果关系计算的结果为 true,则返回 true。 操作数的计算结果必须为十进制数或十六进制数。 十六进制数必须以“0x”开头
说明
在 XML 中,必须对 < 和 > 字符进行转义。符号 < 表示为 <。符号 > 表示为 >。
|
Exists('stringA') |
如果存在名称为 stringA 的文件或文件夹,则计算结果为 true。 例如: Condition="!Exists('$(builtdir)')" 对于简单的字母数字字符串或布尔值,不需要使用单引号。 但是,空值需要使用单引号。 |
HasTrailingSlash('stringA') |
如果指定的字符串包含以反斜杠 (\) 或正斜杠结尾 (/) 的字符,则计算结果为 true。 例如: Condition="!HasTrailingSlash('$(OutputPath)')" 对于简单的字母数字字符串或布尔值,不需要使用单引号。 但是,空值需要使用单引号。 |
! |
如果操作数计算的结果为 false,则计算结果为 true。 |
And |
如果两个操作数计算的结果均为 true,则计算结果为 true。 |
Or |
如果至少一个操作数计算的结果为 true,则计算结果为 true。 |
() |
如果内部包含的表达式的计算结果为 true,则分组机制的计算结果为 true。 |