방법: 빌드 시 환경 변수 사용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