Элемент 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>
Элементы и атрибуты
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Description |
---|---|
DefaultTargets |
Необязательный атрибут элемента . Целевой объект или объекты по умолчанию служат точкой входа сборки, если целевой объект не указан. Несколько целевых объектов разделяются точкой с запятой (;). Если целевой объект по умолчанию не указан в атрибуте DefaultTargets или командной строке MSBuild, обработчик выполняет первый целевой объект в файл проекта после вычисления элементов Импорт. |
InitialTargets |
Необязательный атрибут элемента . Исходный целевой объект или объекты, выполняемые до целевых объектов, заданных в атрибуте DefaultTargets или в командной строке. Несколько целевых объектов разделяются точкой с запятой (; ). Если несколько импортированных файлов определяют InitialTargets , все упомянутые целевые объекты будут выполняться в том порядке, в котором встречаются операции импорта. |
Sdk |
Необязательный атрибут элемента . Имя и (необязательно) версия пакета SDK для создания неявных операторов import, которые добавляются в PROJ-файл. Если версия не указана, MSBuild будет пытаться использовать версию по умолчанию. Например, <Project Sdk="Microsoft.NET.Sdk" /> или <Project Sdk="My.Custom.Sdk/1.0.0" /> . |
ToolsVersion |
Необязательный атрибут элемента . Версия набора инструментов MSBuild используется для определения значений $(MSBuildBinPath) и $(MSBuildToolsPath). |
TreatAsLocalProperty |
Необязательный атрибут элемента . Имена свойств, которые не будут относиться к глобальным. Этот атрибут запрещает определенным свойствам командной строки переопределять значения свойств, заданные в файле проекта или целевых объектов и всех последующих операциях импорта. Несколько свойств разделяются точкой с запятой (;). Как правило, глобальные свойства переопределяют значения свойств, заданных в файле проекта или целевых объектов. Если свойство указано в значении TreatAsLocalProperty , значение глобального свойства не переопределяет значения свойств, заданные в этом файле и всех последующих операциях импорта. Дополнительные сведения см. в практическом руководстве по сборке одинаковых исходных файлов с различными параметрами. Примечание. Чтобы задать глобальные свойства из командной строки, используйте параметр -property (или -p). Кроме того, вы можете задать или изменить глобальные свойства для дочерних проектов в сборках нескольких проектов, используя атрибут Properties задачи MSBuild. Дополнительные сведения см. в разделе Задача MSBuild. |
xmlns |
Необязательный атрибут элемента . Если он указан, атрибут xmlns должен иметь значение http://schemas.microsoft.com/developer/msbuild/2003 . |
Дочерние элементы
Элемент | Description |
---|---|
Выберите | Необязательный элемент. Вычисляет дочерние элементы для выбора одного набора элементов ItemGroup и/или элементов PropertyGroup для вычисления. |
Импорт | Необязательный элемент. Позволяет файлу проекта импортировать другой файл проекта. Проект может содержать любое число элементов Import , включая ноль. |
ImportGroup | Необязательный элемент. Содержит коллекцию элементов Import , сгруппированных по необязательному условию. |
ItemGroup | Необязательный элемент. Группирующий элемент для отдельных элементов. Элементы указываются с помощью элемента Item. Проект может содержать любое число элементов ItemGroup , включая ноль. |
ItemDefinitionGroup | Необязательный элемент. Позволяет определить набор определений элементов, которые представляют собой значения метаданных, по умолчанию применяемых ко всем элементам проекта. Элемент ItemDefinitionGroup используется вместо задач CreateItem и CreateProperty . |
ProjectExtensions | Необязательный элемент. Предоставляет способ сохранения данных, не относящихся к MSBuild, в файле проекта MSBuild. Проект может содержать один элемент ProjectExtensions или ни одного такого элемента. |
PropertyGroup | Необязательный элемент. Группирующий элемент для отдельных свойств. Свойства задаются с помощью элемента Property. Проект может содержать любое число элементов PropertyGroup , включая ноль. |
Sdk | Необязательный элемент. Ссылки на пакет SDK проекта MSBuild. Этот элемент может использоваться в качестве альтернативы атрибуту Sdk. |
Целевой объект | Необязательный элемент. Содержит набор задач для MSBuild для последовательного выполнения. Задачи указываются с помощью элемента Task. Проект может содержать любое число элементов Target , включая ноль. |
UsingTask | Необязательный элемент. Предоставляет способ регистрации задач в MSBuild. Проект может содержать любое число элементов UsingTask , включая ноль. |
Родительские элементы
Нет.