Элемент Project (MSBuild)

Обновлен: Ноябрь 2007

Обязательный корневой элемент файла проекта 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

Необязательный элемент.

Позволяет импортировать в файл проекта другой файл проекта. В проекте может быть любое число элементов Import, включая ноль.

ItemGroup

Необязательный элемент.

Элемент, предназначенный для группировки отдельных элементов. Группируемые элементы задаются при помощи элемента Item. В проекте может быть любое число элементов ItemGroup, включая ноль.

ProjectExtensions

Необязательный элемент.

Обеспечивает возможность сохранения в файле проекта MSBuild информации, не относящейся к MSBuild. В проекте может быть максимум один элемент ProjectExtensions.

PropertyGroup

Необязательный элемент.

Элемент, предназначенный для группировки отдельных свойств. Группируемые свойства задаются при помощи элемента Property. В проекте может быть любое число элементов PropertyGroup, включая ноль.

Target

Необязательный элемент.

Содержит набор задач для MSBuild, подлежащих последовательному выполнению. Задачи указываются при помощи элемента Task. В проекте может быть любое число элементов Target, включая ноль.

UsingTask

Необязательный элемент.

Позволяет регистрировать задачи в MSBuild. В проекте может быть любое число элементов UsingTask, включая ноль.

Родительские элементы

Нет.

См. также

Задачи

Практическое руководство. Выбор цели для первого построения

Основные понятия

Справочные сведения о схеме файлов проектов MSBuild

Общие сведения о MSBuild

Ссылки

Справочные сведения о командной строке MSBuild