MSBuild の条件
更新 : 2007 年 11 月
MSBuild は、Condition 属性が許可される場所に適用できる各種の条件をサポートしています。これらの条件の意味は、次の表に示すとおりです。
条件 |
説明 |
---|---|
'stringA' == 'stringB' |
stringA が stringB に等しい場合、true と評価されます。 たとえば、次のようにします。 Condition="'$(CONFIG)'=='DEBUG'" 単一引用符は、単純な英数字文字列またはブール値には必要ありません。ただし、単一引用符は空の値には必要です。 |
'stringA' != 'stringB' |
stringA が stringB.に等い場合、true と評価されます。 たとえば、次のようにします。 Condition="'$(CONFIG)'!='DEBUG'" 単一引用符は、単純な英数字文字列またはブール値には必要ありません。ただし、単一引用符は空の値には必要です。 |
<, >, <=, >= |
オペランドの数値を評価します。関係評価が true の場合、true を返します。オペランドは、10 進数または 16 進数で評価する必要があります。16 進数は "0x" で始まる必要があります。
メモ :
XML では、文字 < および > はエスケープされる必要があります。シンボル < は < として表されます。シンボル > は > として表されます。
|
Exists('stringA') |
stringA という名前のファイルやフォルダが存在する場合、true と評価されます。 たとえば、次のようにします。 Condition="!Exists('$(builtdir)')" 単一引用符は、単純な英数字文字列またはブール値には必要ありません。ただし、単一引用符は空の値には必要です。 |
HasTrailingSlash('stringA') |
指定された文字列の末尾に円記号 (\) またはスラッシュ (/) が含まれている場合、true と評価されます。 次に例を示します。 Condition="!HasTrailingSlash('$(OutputPath)')" 単一引用符は、単純な英数字文字列またはブール値には必要ありません。ただし、単一引用符は空の値には必要です。 |
! |
オペランドが false と評価される場合、true と評価されます。 |
And |
両方のオペランドが true と評価される場合、true と評価されます。 |
Or |
オペランドの少なくとも 1 つが true と評価される場合、true と評価されます。 |
() |
内部に含まれる複数の式が true と評価される場合、全体として true と評価されます。 |