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" で始まる必要があります。

7szfhaft.alert_note(ja-jp,VS.90).gifメモ :
XML では、文字 < および > はエスケープされる必要があります。シンボル < は &lt; として表されます。シンボル > は &gt; として表されます。

Exists('stringA')

stringA という名前のファイルやフォルダが存在する場合、true と評価されます。

たとえば、次のようにします。

Condition="!Exists('$(builtdir)')"

単一引用符は、単純な英数字文字列またはブール値には必要ありません。ただし、単一引用符は空の値には必要です。

HasTrailingSlash('stringA')

指定された文字列の末尾に円記号 (\) またはスラッシュ (/) が含まれている場合、true と評価されます。

次に例を示します。

Condition="!HasTrailingSlash('$(OutputPath)')"

単一引用符は、単純な英数字文字列またはブール値には必要ありません。ただし、単一引用符は空の値には必要です。

!

オペランドが false と評価される場合、true と評価されます。

And

両方のオペランドが true と評価される場合、true と評価されます。

Or

オペランドの少なくとも 1 つが true と評価される場合、true と評価されます。

()

内部に含まれる複数の式が true と評価される場合、全体として true と評価されます。

参照

参照

MSBuild の条件構造

その他の技術情報

MSBuild リファレンス