다음을 통해 공유


방법: 프로젝트 파일의 이름 또는 위치 참조

업데이트: 2007년 11월

사용자 고유의 속성을 만들지 않고도 프로젝트 파일 자체에서 프로젝트의 이름이나 위치를 사용할 수 있습니다. 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>

참고 항목

개념

MSBuild

참조

MSBuild 예약 속성