다음을 통해 공유


MSBuild 속성

업데이트: 2007년 11월

속성은 빌드를 구성하는 데 사용될 수 있는 키/값 쌍입니다. 프로젝트 파일 전체에서 참조할 수 있도록 속성을 사용하여 값을 작업으로 전달하고, 조건을 확인하며, 값을 저장할 수 있습니다.

프로젝트 파일에서 속성 정의 및 참조

속성 이름을 갖는 요소를 PropertyGroup 요소의 자식으로 만들어 속성을 선언합니다. 예를 들어, 다음 XML에서는 값이 Build인 BuildDir라는 속성을 만듭니다.

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

프로젝트 파일 전체에서 속성을 참조할 때는 $(PropertyName) 구문을 사용합니다. 예를 들어, 앞의 예제에서는 $(BuildDir)를 사용하여 속성을 참조합니다.

명령줄에서 속성 설정

MSBuild에서는 /property 또는 /p 명령줄 스위치를 사용하여 명령줄에서 속성을 설정할 수 있습니다. 명령줄에서 받은 속성 값은 프로젝트 파일에 설정된 속성 값과 환경 변수로부터 상속된 속성 값보다 우선합니다.

다음 예제에서는 Configuration 속성을 DEBUG로 설정합니다.

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

예약 속성

MSBuild에서 일부 속성 이름은 프로젝트 파일과 MSBuild 이진 파일에 대한 정보를 저장하기 위해 예약되어 있습니다. 이러한 속성은 다른 속성과 같이 $ 표기법을 사용하여 참조됩니다. 자세한 내용은 방법: 프로젝트 파일의 이름 또는 위치 참조MSBuild 예약 속성을 참조하십시오.

환경 변수

프로젝트 파일에서 환경 변수도 예약 속성과 같은 방식으로 참조될 수 있습니다. 예를 들어, 프로젝트 파일에서 PATH 환경 변수를 사용하려면 $(Path)를 사용합니다. 프로젝트에 환경 변수와 이름이 같은 속성이 정의되어 있으면 프로젝트의 속성이 환경 변수의 값보다 우선합니다. 자세한 내용은 방법: 빌드 시 환경 변수 사용을 참조하십시오.

속성에 XML 저장

값을 작업으로 전달하거나 로깅 정보를 표시하는 데 도움이 될 수 있는 임의의 XML을 속성에 저장할 수 있습니다. 다음 예제에서는 XML을 포함하는 값을 갖는 ConfigTemplate 속성과 기타 속성 참조를 보여 줍니다. 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)