Share via


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

プロジェクトをビルドするとき、プロジェクト ファイルまたはプロジェクトの関連ファイルには存在しない情報を使ってビルド オプションを設定することが必要になる場合があります。 通常、このような情報は環境変数として保存されます。

環境変数の参照

すべての環境変数は、Microsoft Build Engine (MSBuild) のプロジェクト ファイルから必要に応じて参照できます。

注意

プロジェクト ファイルに、環境変数と同じ名前のプロパティが明示的に定義されている場合、環境変数の値はプロジェクト ファイル内のプロパティによってオーバーライドされます。

MSBuild プロジェクトで環境変数を使用するには

  • プロジェクト ファイルで変数を宣言するときと同じように環境変数を参照します。 たとえば、BIN_PATH 環境変数を参照する場合は、次のようなコードを使用します。

    <FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>

環境変数が設定されていない場合のために、Condition 属性を使用してプロパティの既定値を設定できます。

プロパティに既定値を設定するには

  • Condition 属性を使用し、プロパティに値が存在しない場合にのみ値を設定します。 次のコードは、ToolsPath 環境変数が設定されていなかった場合にのみ、ToolsPath プロパティに c:\tools を設定する例です。

    <ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>

    注意

    プロパティ名では大文字と小文字の区別がされないため、$(ToolsPath) と $(TOOLSPATH) は、同じプロパティまたは環境変数を参照します。

使用例

次のプロジェクト ファイルは、環境変数を使用して、ディレクトリの場所を指定しています。

<Project DefaultTargets="FakeBuild">
    <PropertyGroup>
        <FinalOutput>$(BIN_PATH)\myassembly.dll</FinalOutput>
        <ToolsPath Condition=" '$(ToolsPath)' == '' ">
            C:\Tools
        </ToolsPath>
    </PropertyGroup>
    <Target Name="FakeBuild">
        <Message Text="Building $(FinalOutput) using the tools at $(ToolsPath)..."/>
    </Target>
</Project>

参照

処理手順

方法 : 同じソース ファイルを異なるオプションでビルドする

概念

MSBuild プロパティ

その他の技術情報

MSBuild