Project 요소(MSBuild)Project Element (MSBuild)

MSBuildMSBuild 프로젝트 파일의 필수 루트 요소입니다.Required root element of an MSBuildMSBuild project file.

구문Syntax

<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>  

특성 및 요소Attributes and Elements

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.The following sections describe attributes, child elements, and parent elements.

특성Attributes

특성Attribute 설명Description
DefaultTargets 선택적 특성입니다.Optional attribute.

대상이 지정되지 않은 경우 빌드 진입점으로 사용할 하나 이상의 기본 대상입니다.The default target or targets to be the entry point of the build if no target has been specified. 대상이 여러 개인 경우 세미콜론(;)으로 구분합니다.Multiple targets are semi-colon (;) delimited.

DefaultTargets 특성 또는 MSBuildMSBuild 명령줄에 기본 대상이 없으면 엔진은 Import 요소를 평가한 후 프로젝트 파일의 첫 번째 대상을 실행합니다.If no default target is specified in either the DefaultTargets attribute or the MSBuildMSBuild command line, the engine executes the first target in the project file after the Import elements have been evaluated.
InitialTargets 선택적 특성입니다.Optional attribute.

DefaultTargets 특성 또는 명령줄에 지정된 대상을 실행하기 전에 실행할 하나 이상의 초기 대상입니다.The initial target or targets to be run before the targets specified in the DefaultTargets attribute or on the command line. 대상이 여러 개인 경우 세미콜론(;)으로 구분합니다.Multiple targets are semi-colon (;) delimited.
SDK 선택적 특성입니다.Optional attribute. Visual Studio 2017 이상 버전의 .NET Core 프로젝트에만 사용할 수 있습니다.(Available only for .NET Core projects in Visual Studio 2017 or later.)

.proj 파일에 추가되는 암시적 Import 문을 만드는 데 사용할 SDK 버전입니다.The SDK version to use to create implicit Import statements that are added to the .proj file. 예를 들어, <Project Sdk="Microsoft.NET.Sdk/1.0.0-RC" />을 입력합니다.For example, <Project Sdk="Microsoft.NET.Sdk/1.0.0-RC" />.
ToolsVersion 선택적 특성입니다.Optional attribute.

$(MSBuildBinPath) 및 $(MSBuildToolsPath)의 값을 확인하기 위해 MSBuild가 사용하는 도구 집합의 버전입니다.The version of the toolset MSBuild uses to determine the values for $(MSBuildBinPath) and $(MSBuildToolsPath).
TreatAsLocalProperty 선택적 특성입니다.Optional attribute.

전역으로 간주하지 않을 속성 이름입니다.Property names that won't be considered to be global. 이 특성을 사용하는 경우 특정 명령줄 속성이 프로젝트 또는 대상 파일과 모든 후속 가져오기에서 설정되는 속성값을 재정의할 수 없습니다.This attribute prevents specific command-line properties from overriding property values that are set in a project or targets file and all subsequent imports. 속성이 여러 개인 경우 세미콜론(;)으로 구분합니다.Multiple properties are semi-colon (;) delimited.

일반적으로 전역 속성은 프로젝트 또는 대상 파일에서 설정되는 속성값을 재정의합니다.Normally, global properties override property values that are set in the project or targets file. TreatAsLocalProperty 값에 속성이 나열되어 있는 경우에는 전역 속성값이 해당 파일 및 모든 후속 가져오기에서 설정되는 속성값을 재정의하지 않습니다.If the property is listed in the TreatAsLocalProperty value, the global property value doesn't override property values that are set in that file and any subsequent imports. 자세한 내용은 방법: 동일한 소스 파일을 다른 옵션을 사용하여 빌드를 참조하세요.For more information, see How to: Build the Same Source Files with Different Options. 참고: /property 또는 /p) 스위치를 사용하여 명령 프롬프트에서 전역 속성을 설정합니다.Note: You set global properties at a command prompt by using the /property (or /p) switch. MSBuild 작업의 Properties 특성을 사용하여 다중 프로젝트 빌드의 자식 프로젝트에 대해 전역 속성을 설정하거나 수정할 수도 있습니다.You can also set or modify global properties for child projects in a multi-project build by using the Properties attribute of the MSBuild task. 자세한 내용은 MSBuild 작업을 참조하세요.For more information, see MSBuild Task.
Xmlns 선택적 특성입니다.Optional attribute.

지정한 경우 xmlns 특성의 값은 "http://schemas.microsoft.com/developer/msbuild/2003"이어야 합니다.When specified, the xmlns attribute must have the value of "http://schemas.microsoft.com/developer/msbuild/2003".

자식 요소Child Elements

요소Element 설명Description
ChooseChoose 선택적 요소입니다.Optional element.

자식 요소를 평가하여 평가할 ItemGroup 요소 및/또는 PropertyGroup 요소의 집합 하나를 선택합니다.Evaluates child elements to select one set of ItemGroup elements and/or PropertyGroup elements to evaluate.
ImportImport 선택적 요소입니다.Optional element.

프로젝트 파일이 다른 프로젝트 파일을 가져올 수 있도록 설정합니다.Enables a project file to import another project file. 프로젝트에는 Import 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.There may be zero or more Import elements in a project.
ItemGroupItemGroup 선택적 요소입니다.Optional element.

개별 항목에 대한 grouping 요소입니다.A grouping element for individual items. Item 요소를 사용하여 항목을 지정합니다.Items are specified by using the Item element. 프로젝트에는 ItemGroup 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.There may be zero or more ItemGroup elements in a project.
ProjectExtensionsProjectExtensions 선택적 요소입니다.Optional element.

MSBuildMSBuild 프로젝트 파일에서 MSBuildMSBuild 이외의 정보를 유지하는 방법을 제공합니다.Provides a way to persist non-MSBuildMSBuild information in an MSBuildMSBuild project file. 프로젝트에는 ProjectExtensions 요소가 없을 수도 있고 하나 있을 수 있습니다.There may be zero or one ProjectExtensions elements in a project.
PropertyGroupPropertyGroup 선택적 요소입니다.Optional element.

개별 속성에 대한 grouping 요소입니다.A grouping element for individual properties. Property 요소를 사용하여 속성을 지정합니다.Properties are specified by using the Property element. 프로젝트에는 PropertyGroup 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.There may be zero or more PropertyGroup elements in a project.
TargetTarget 선택적 요소입니다.Optional element.

MSBuildMSBuild에 대해 순차적으로 실행할 작업 집합을 포함합니다.Contains a set of tasks for MSBuildMSBuild to sequentially execute. Task 요소를 사용하여 작업을 지정합니다.Tasks are specified by using the Task element. 프로젝트에는 Target 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.There may be zero or more Target elements in a project.
UsingTaskUsingTask 선택적 요소입니다.Optional element.

MSBuildMSBuild에서 작업을 등록하는 방법을 제공합니다.Provides a way to register tasks in MSBuildMSBuild. 프로젝트에는 UsingTask 요소가 없을 수도 있고 하나 이상 있을 수 있습니다.There may be zero or more UsingTask elements in a project.

부모 요소Parent Elements

없음None.

참고 항목See Also

방법: 먼저 빌드할 대상 지정 How to: Specify Which Target to Build First
명령줄 참조 Command-Line Reference
프로젝트 파일 스키마 참조 Project File Schema Reference
MSBuildMSBuild