MSBuild プロパティ

更新 : 2007 年 11 月

プロパティはビルドを設定するためのキーと値のペアです。プロパティを使用することで、タスクに値を渡したり、条件を評価したりできるだけでなく、プロジェクト ファイルで参照する値を格納しておくこともできます。

プロジェクト ファイルでのプロパティの定義と参照

プロパティを宣言するには、そのプロパティの名前を持つ要素を PropertyGroup 要素の子として作成します。たとえば、次の XML では Build を値として持つ BuildDir という名前のプロパティを作成しています。

<PropertyGroup>
    <BuildDir>Build</BuildDir>
</PropertyGroup>

プロジェクト ファイルでプロパティを参照するには、$(PropertyName) という構文を使用します。たとえば、先ほどの例では、$(BuildDir) のようにして BuildDir プロパティを参照できます。

コマンドラインからのプロパティの設定

MSBuild では、コマンド ラインから /property または /p というコマンド ライン スイッチを使用してプロパティを設定できます。プロジェクト ファイルに設定されたプロパティ値や環境変数として設定されたおよびプロパティ値は、コマンド ラインから渡されたプロパティ値によってオーバーライドされます。

Configuration プロパティを DEBUG に設定する例を次に示します。

MSBuild.exe MyProj.proj /p:Configuration=DEBUG

予約済みのプロパティ

MSBuild では、プロジェクト ファイルに関する情報や MSBuild のバイナリに関する情報を保持するために一部のプロパティ名が予約されています。これらのプロパティは、他のプロパティと同じように $ 表記で参照できます。詳細については、「方法 : プロジェクト ファイルの名前または場所を参照する」および「MSBuild 予約済みのプロパティ」を参照してください。

環境変数

プロジェクト ファイルで環境変数を参照する場合も、予約済みのプロパティを参照するときと同じ方法を使用します。たとえば、プロジェクト ファイルで PATH 環境変数を使用するには、$(Path) と記述します。プロジェクト ファイルに、環境変数と同じ名前のプロパティが定義されている場合、環境変数の値はプロジェクト内のプロパティによってオーバーライドされます。詳細については、「方法 : ビルドで環境変数を使用する」を参照してください。

プロパティに XML を格納する

プロパティには、タスクに値を渡したり、ログ情報を表示したりするための任意の XML を格納できます。次の例では、ConfigTemplate プロパティの値に、XML や他のプロパティ参照が使用されています。このプロパティ参照は、MSBuild によって、対応するプロパティ値に置き換えられます。プロパティ値は上から下に解釈されます。したがって、この例では、$(MySupportedVersion)、$(MyRequiredVersion)、および$(MySafeMode) があらかじめ定義されていることが必要です。

<PropertyGroup>
    <ConfigTemplate>
        <Configuration>
            <Startup>
                <SupportedRuntime
                    ImageVersion="$(MySupportedVersion)" 
                    Version="$(MySupportedVersion)"/>
                <RequiredRuntime
                    ImageVersion="$(MyRequiredVersion)
                    Version="$(MyRequiredVersion)" 
                    SafeMode="$(MySafeMode)"/>
            </Startup>
        </Configuration>
    </ConfigTemplate>
</PropertyGroup>

参照

処理手順

方法 : ビルドで環境変数を使用する

方法 : プロジェクト ファイルの名前または場所を参照する

概念

MSBuild

MSBuild の概要

参照

MSBuild 予約済みのプロパティ

Property 要素 (MSBuild)