方法 : ビルドで環境変数を使用するHow to: Use Environment Variables in a Build

プロジェクトをビルドするとき、プロジェクト ファイルまたはプロジェクトを構成するファイルに含まれていない情報を使用してビルド オプションを設定する必要がある場合があります。When you build projects, it is often necessary to set build options using information that is not in the project file or the files that comprise your project. 通常、この情報は環境変数に格納されます。This information is typically stored in environment variables.

時間環境変数の参照Referencing Environment Variables

環境変数はすべて、プロパティとして Microsoft Build EngineMicrosoft Build Engine (MSBuildMSBuild) プロジェクト ファイルで使用可能です。All environment variables are available to the Microsoft Build EngineMicrosoft Build Engine (MSBuildMSBuild) project file as properties.

注意

プロジェクト ファイルに、環境変数と同じ名前のプロパティが明示的に定義されている場合、環境変数の値はプロジェクト ファイル内のプロパティによって上書きされます。If the project file contains an explicit definition of a property that has the same name as an environment variable, the property in the project file overrides the value of the environment variable.

MSBuild プロジェクトで環境変数を使用するにはTo use an environment variable in an MSBuild project

  • プロジェクト ファイルで宣言された変数と同様に、環境変数を参照します。Reference the environment variable the same way you would a variable declared in your project file. たとえば、次のコードは、BIN_PATH 環境変数を参照します。For example, the following code references the BIN_PATH environment variable:

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

    環境変数が設定されていない場合は、Condition 属性を使用して、プロパティの既定値を指定することができます。You can use a Condition attribute to provide a default value for a property if the environment variable was not set.

プロパティの既定値を指定するにはTo provide a default value for a property

  • プロパティに値がない場合に限り、Condition 属性をプロパティで使用して値を設定します。Use a Condition attribute on a property to set the value only if the property has no value. たとえば、ToolsPath 環境変数が設定されていない場合に限り、次のコードによって ToolsPath プロパティが c:\tools に設定されます。For example, the following code sets the ToolsPath property to c:\tools only if the ToolsPath environment variable is not set:

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

    注意

    プロパティ名は大文字と小文字が区別されないため、$(ToolsPath)$(TOOLSPATH) の両方が同じプロパティまたは環境変数を参照します。Property names are not case-sensitive so both $(ToolsPath) and $(TOOLSPATH) reference the same property or environment variable.

Example

次のプロジェクト ファイルは、環境変数を使用して、ディレクトリの場所を指定します。The following project file uses environment variables to specify the location of directories.

<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>  

関連項目See Also

[MSBuild ](../msbuild/msbuild.md)
[MSBuild Properties](../msbuild/msbuild-properties.md)

方法: 同じソース ファイルを異なるオプションでビルドするHow to: Build the Same Source Files with Different Options