Share via


Project 요소(MSBuild)

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

구문

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

특성 및 요소

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

특성

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

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

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

DefaultTargets 특성 또는 명령줄에 지정된 대상을 실행하기 전에 실행할 하나 이상의 초기 대상입니다. 대상이 여러 개인 경우 세미콜론(;)으로 구분합니다. 가져온 여러 파일이 InitialTargets를 정의하는 경우 언급된 모든 대상이 가져오기가 발생한 순서대로 실행됩니다.
Sdk 선택적 특성입니다.

.proj 파일에 추가되는 암시적 Import 문을 만드는 데 사용할 SDK 이름 및 선택적 버전입니다. 버전을 지정하지 않으면 MSBuild에서 기본 버전을 확인하려고 합니다. 예를 들어 <Project Sdk="Microsoft.NET.Sdk" /> 또는 <Project Sdk="My.Custom.Sdk/1.0.0" />입니다.
ToolsVersion 선택적 특성입니다.

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

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

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

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

자식 요소

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

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

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

선택적인 조건으로 그룹화된 Import 요소의 컬렉션을 포함합니다.
ItemGroup 선택적 요소입니다.

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

기본적으로 프로젝트의 모든 항목에 적용되는 메타데이터 값인 항목 정의 집합을 정의할 수 있습니다. ItemDefinitionGroup을 사용하면 CreateItem작업 및 CreateProperty 작업을 사용할 필요가 없습니다.
ProjectExtensions 선택적 요소입니다.

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

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

MSBuild 프로젝트 SDK를 참조합니다. 이 요소는 SDK 특성 대신 사용할 수 있습니다.
대상 선택적 요소입니다.

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

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

부모 요소

없음

참고 항목