MSBuild の条件

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 では、文字 < および > はエスケープされる必要があります。シンボル < は &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 の条件構造

その他の技術情報

MSBuild リファレンス