방법: 프로젝트 파일의 이름 또는 위치 참조
사용자 고유의 속성을 만들지 않고도 프로젝트 파일 자체에서 프로젝트의 이름이나 위치를 사용할 수 있습니다. MSBuild에서는 프로젝트 파일 이름을 참조하는 예약된 속성과 프로젝트에 관계된 기타 속성을 제공합니다. 예약된 속성에 대한 자세한 내용은 MSBuild의 예약된 속성 및 잘 알려진 속성을 참조하십시오.
MSBuildProjectName 속성 사용
MSBuild에서는 프로젝트 파일에서 매번 정의하지 않고도 사용할 수 있는 몇 가지 예약된 속성을 제공합니다. 예를 들어, 예약된 속성 MSBuildProjectName은 프로젝트 파일 이름에 대한 참조를 제공합니다.
MSBuildProjectName 속성을 사용하려면
다른 속성을 참조할 때와 마찬가지로 $() 표기법을 사용하여 프로젝트 파일에서 속성을 참조합니다. 예를 들면 다음과 같습니다.
<CSC Sources = "@(CSFile)" OutputAssembly = "$(MSBuildProjectName).exe"/> </CSC>
예약된 속성을 사용하면 프로젝트 파일 이름이 변경되어도 자동으로 통합된다는 이점이 있습니다. 다음에 프로젝트를 빌드할 때 출력 파일은 새 이름을 가지므로 사용자가 별도의 작업을 수행할 필요가 없습니다.
참고
예약된 속성은 프로젝트 파일에서 다시 정의될 수 없습니다.
예제
다음 예제 프로젝트 파일은 프로젝트 이름을 예약된 속성으로 참조하여 출력 이름을 지정합니다.
<Project xmlns="http://scheams.microsoft.com/developer/msbuild/2003"
DefaultTargets = "Compile">
<!-- Specify the inputs -->
<ItemGroup>
<CSFile Include = "consolehwcs1.cs"/>
</ItemGroup>
<Target Name = "Compile">
<!-- Run the Visual C# compilation using
input files of type CSFile -->
<CSC Sources = "@(CSFile)"
OutputAssembly = "$(MSBuildProjectName).exe" >
<!-- Set the OutputAssembly attribute of the CSC task
to the name of the project -->
<Output
TaskParameter = "OutputAssembly"
ItemName = "EXEFile" />
</CSC>
<!-- Log the file name of the output file -->
<Message Text="The output file is @(EXEFile)"/>
</Target>
</Project>