다음을 통해 공유


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

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