Project 요소(MSBuild)

MSBuild 프로젝트 파일의 필수 루트 요소입니다.

구문

<Project InitialTargets="TargetA;TargetB"  
         DefaultTargets="TargetC;TargetD"  
         TreatAsLocalProperty="PropertyA;PropertyB"  
         ToolsVersion=<version number>  
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
    <Choose>... </Choose>  
    <PropertyGroup>... </PropertyGroup>  
    <ItemGroup>... </ItemGroup>  
    <Target>... </Target>  
    <UsingTask.../>  
    <ProjectExtensions>... </ProjectExtensions>  
    <Import... />  
</Project>  

특성 및 요소

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성 설명
DefaultTargets 선택적 특성입니다.

대상이 지정되지 않은 경우 빌드 진입점으로 사용할 하나 이상의 기본 대상입니다. 대상이 여러 개인 경우 세미콜론(;)으로 구분합니다.

DefaultTargets 특성 또는 MSBuild 명령줄에 기본 대상이 없으면 엔진은 Import 요소를 평가한 후 프로젝트 파일의 첫 번째 대상을 실행합니다.
InitialTargets 선택적 특성입니다.

DefaultTargets 특성 또는 명령줄에 지정된 대상을 실행하기 전에 실행할 하나 이상의 초기 대상입니다. 대상이 여러 개인 경우 세미콜론(;)으로 구분합니다.
SDK 선택적 특성입니다. Visual Studio 2017 이상 버전의 .NET Core 프로젝트에만 사용할 수 있습니다.

.proj 파일에 추가되는 암시적 Import 문을 만드는 데 사용할 SDK 버전입니다. 예를 들어, <Project Sdk="Microsoft.NET.Sdk/1.0.0-RC" />을 입력합니다.
ToolsVersion 선택적 특성입니다.

$(MSBuildBinPath) 및 $(MSBuildToolsPath)의 값을 확인하기 위해 MSBuild가 사용하는 도구 집합의 버전입니다.
TreatAsLocalProperty 선택적 특성입니다.

전역으로 간주하지 않을 속성 이름입니다. 이 특성을 사용하는 경우 특정 명령줄 속성이 프로젝트 또는 대상 파일과 모든 후속 가져오기에서 설정되는 속성값을 재정의할 수 없습니다. 속성이 여러 개인 경우 세미콜론(;)으로 구분합니다.

일반적으로 전역 속성은 프로젝트 또는 대상 파일에서 설정되는 속성값을 재정의합니다. TreatAsLocalProperty 값에 속성이 나열되어 있는 경우에는 전역 속성값이 해당 파일 및 모든 후속 가져오기에서 설정되는 속성값을 재정의하지 않습니다. 자세한 내용은 방법: 동일한 소스 파일을 다른 옵션을 사용하여 빌드를 참조하세요. 참고: /property 또는 /p) 스위치를 사용하여 명령 프롬프트에서 전역 속성을 설정합니다. MSBuild 작업의 Properties 특성을 사용하여 다중 프로젝트 빌드의 자식 프로젝트에 대해 전역 속성을 설정하거나 수정할 수도 있습니다. 자세한 내용은 MSBuild 작업을 참조하세요.
Xmlns 선택적 특성입니다.

지정한 경우 xmlns 특성의 값은 "http://schemas.microsoft.com/developer/msbuild/2003"이어야 합니다.

자식 요소

요소 설명
Choose 선택적 요소입니다.

자식 요소를 평가하여 평가할 ItemGroup 요소 및/또는 PropertyGroup 요소의 집합 하나를 선택합니다.
Import 선택적 요소입니다.

프로젝트 파일이 다른 프로젝트 파일을 가져올 수 있도록 설정합니다. 프로젝트에는 Import 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.
ItemGroup 선택적 요소입니다.

개별 항목에 대한 grouping 요소입니다. Item 요소를 사용하여 항목을 지정합니다. 프로젝트에는 ItemGroup 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.
ProjectExtensions 선택적 요소입니다.

MSBuild 프로젝트 파일에서 MSBuild 이외의 정보를 유지하는 방법을 제공합니다. 프로젝트에는 ProjectExtensions 요소가 없을 수도 있고 하나 있을 수 있습니다.
PropertyGroup 선택적 요소입니다.

개별 속성에 대한 grouping 요소입니다. Property 요소를 사용하여 속성을 지정합니다. 프로젝트에는 PropertyGroup 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.
Target 선택적 요소입니다.

MSBuild에 대해 순차적으로 실행할 작업 집합을 포함합니다. Task 요소를 사용하여 작업을 지정합니다. 프로젝트에는 Target 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.
UsingTask 선택적 요소입니다.

MSBuild에서 작업을 등록하는 방법을 제공합니다. 프로젝트에는 UsingTask 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.

부모 요소

없음

참고 항목

방법: 먼저 빌드할 대상 지정
명령줄 참조
프로젝트 파일 스키마 참조
MSBuild