Project 요소(MSBuild)

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

<Project InitialTargets="TargetA;TargetB"
         DefaultTargets="TargetC;TargetD"
         ToolsVersion=<version number>
         xmlns="https://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 특성이나 명령줄에서 지정한 대상 이전에 실행되는 초기 대상입니다. 대상이 여러 개인 경우 세미콜론(;)으로 구분합니다.

ToolsVersion

선택적 특성입니다.

MSBuild에서 $(MSBuildBinPath) 및 $(MSBuildToolsPath)의 값을 확인하는 데 사용하는 도구 집합의 버전입니다.

Xmlns

필수 특성입니다.

xmlns 특성에는 "https://schemas.microsoft.com/developer/msbuild/2003"의 값이 있어야 합니다.

자식 요소

요소

설명

Choose

선택적 요소입니다.

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

가져오기

선택적 요소입니다.

프로젝트 파일에서 다른 프로젝트 파일을 가져올 수 있게 합니다. 프로젝트에 Import 요소가 0개 이상 있을 수 있습니다.

ItemGroup

선택적 요소입니다.

개별 항목에 대한 그룹화 요소입니다. 항목은 Item 요소를 사용하여 지정합니다. 프로젝트에 ItemGroup 요소가 0개 이상 있을 수 있습니다.

ProjectExtensions

선택적 요소입니다.

MSBuild 이외의 정보를 MSBuild 프로젝트 파일 내에 유지할 수 있게 합니다. 프로젝트에 ProjectExtensions 요소가 하나 있거나 없을 수 있습니다.

PropertyGroup

선택적 요소입니다.

개별 속성에 대한 그룹화 요소입니다. 속성은 Property 요소를 사용하여 지정합니다. 프로젝트에 PropertyGroup 요소가 0개 이상 있을 수 있습니다.

Target

선택적 요소입니다.

순차적으로 실행할 MSBuild의 작업 집합이 들어 있습니다. 작업은 Task 요소를 사용하여 지정합니다. 프로젝트에 Target 요소가 0개 이상 있을 수 있습니다.

UsingTask

선택적 요소입니다.

MSBuild 내에 작업을 등록할 수 있게 합니다. 프로젝트에 UsingTask 요소가 0개 이상 있을 수 있습니다.

부모 요소

없음

참고 항목

작업

방법: 먼저 빌드할 대상 지정

참조

MSBuild 명령줄 참조

개념

MSBuild 프로젝트 파일 스키마 참조

기타 리소스

MSBuild Overview