다음을 통해 공유


MSBuild 예약 속성

업데이트: 2007년 11월

MSBuild에서는 프로젝트 파일과 MSBuild 이진 파일에 대한 정보를 저장하기 위해 예약된 속성 집합을 제공합니다. 이러한 속성은 다른 MSBuild 속성과 동일하게 확인됩니다. 예를 들어, MSBuildProjectFile 속성을 사용하려면 다음 구문을 입력합니다.

$(MSBuildProjectFile)

예약 속성

다음 표에서는 MSBuild 예약 속성에 대해 설명합니다.

속성

설명

MSBuildProjectDirectory

C:\MyCompany\MyProduct와 같이 프로젝트 파일이 있는 디렉터리의 절대 경로입니다.

MSBuildProjectFile

MyApp.proj와 같이 파일 이름 확장명을 포함하는 프로젝트 파일의 전체 파일 이름입니다.

MSBuildProjectExtension

.proj와 같이 마침표를 포함하는 프로젝트 파일의 파일 이름 확장명입니다.

MSBuildProjectFullPath

C:\MyCompany\MyProduct\MyApp.proj와 같이 프로젝트 파일의 절대 경로와 전체 파일 이름입니다.

MSBuildProjectName

MyApp와 같이 파일 이름 확장명을 제외한 프로젝트 파일의 파일 이름입니다.

MSBuildBinPath

C:\Windows\Microsoft.Net\Framework\v2.0과 같이 현재 사용되고 있는 MSBuild 이진 파일이 있는 디렉터리의 절대 경로입니다. 이 속성은 MSBuild 디렉터리에 있는 파일을 참조해야 할 경우에 유용합니다.

MSBuildProjectDefaultTargets

Project 요소의 DefaultTargets 특성에 지정된 대상의 전체 목록입니다. 예를 들어, 다음 Project 요소에서는 MSBuildDefaultTargets 속성 값이 A;B;C입니다.

<Project DefaultTargets="A;B;C" >

MSBuildExtensionsPath

Program Files 디렉터리 아래의 MSBuild 폴더입니다. 이 위치는 사용자 지정 대상 파일을 넣는 데 유용합니다. 예를 들어, 대상 파일을 \Program Files\MSBuild\MyFiles\Northwind.targets에 설치한 후 다음 XML을 사용하여 프로젝트 파일로 가져올 수 있습니다.

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>

MSBuildStartupDirectory

MSBuild이 호출되는 디렉터리의 절대 경로입니다.

이 경로를 사용하면 모든 디렉터리에 "dirs.proj" 형식 파일을 만들지 않고도 프로젝트 트리에서 임의의 지점으로 이동하고 이 지점 아래에 원하는 항목을 모두 빌드할 수 있습니다. 대신 다음 예제와 같이 c:\traversal.proj라는 하나의 프로젝트만 있습니다.

<Project …>
    <ItemGroup>
        <ProjectFiles  
           Include="$
           (MSBuildStartupDirectory)
           **\*.csproj"/>
    </ItemGroup>
    <Target Name="build">
        <MSBuild    
        Projects="@(ProjectFiles)"/>
    </Target>
</Project>

그러면 임의의 트리 위치에 다음을 입력합니다.

msbuild c:\traversal.proj

참고 항목

개념

MSBuild 속성

기타 리소스

MSBuild 참조