Выбор целевого объекта для первой сборки
Файл проекта может содержать один или несколько элементов Target
, определяющих способ сборки проекта. Модуль Microsoft Build Engine (MSBuild) выполняет сборку первой найденной цели, а также всех зависимостей, если файл проекта не содержит атрибут DefaultTargets
или InitialTargets
либо если целевой объект не указан в командной строке с помощью параметра -target.
Использование атрибута InitialTargets
Атрибут InitialTargets
элемента Project
указывает целевой объект, который будет выполняться первым, даже если целевые объекты указаны в командной строке или в атрибуте DefaultTargets
.
Задание одного начального целевого объекта
Укажите целевой объект по умолчанию в атрибуте
InitialTargets
элементаProject
. Например:<Project InitialTargets="Clean">
В атрибуте
InitialTargets
можно указать сразу несколько начальных целевых объектов, расположив их по порядку и разделив точкой с запятой. Целевые объекты в этом списке будут выполняться последовательно.
Задание нескольких начальных целевых объектов
Укажите начальные целевые объекты, разделенные точкой с запятой, в атрибуте
InitialTargets
элементаProject
. Например, чтобы выполнить целевой объектClean
и затемCompile
, введите:<Project InitialTargets="Clean;Compile">
Использование атрибута DefaultTargets
Атрибут DefaultTargets
элемента Project
указывает, какой целевой объект или целевые объекты создаются, если целевой объект не задан явным образом в командной строке. Если целевые объекты указаны в обоих атрибутах InitialTargets
и DefaultTargets
и не указаны в командной строке, MSBuild выполняет целевые объекты, указанные в атрибуте InitialTargets
, а затем целевые объекты, указанные в атрибуте DefaultTargets
.
Задание одного целевого объекта по умолчанию
Укажите целевой объект по умолчанию в атрибуте
DefaultTargets
элементаProject
. Например:<Project DefaultTargets="Compile">
В атрибуте
DefaultTargets
можно указать сразу несколько целевых объектов по умолчанию, расположив их по порядку и разделив точкой с запятой. Целевые объекты в этом списке будут выполняться последовательно.
Задание нескольких целевых объектов по умолчанию
Укажите целевые объекты по умолчанию, разделенные точкой с запятой, в атрибуте
DefaultTargets
элементаProject
. Например, чтобы выполнить целевой объектClean
и затемCompile
, введите:<Project DefaultTargets="Clean;Compile">
Использование параметра -target
Если целевой объект по умолчанию не определен в файле проекта или вы не хотите использовать его, можно использовать параметр командной строки -target, чтобы указать другой целевой объект. Целевые объекты, заданные с помощью параметра -target, выполняются вместо целевых объектов, заданных в атрибуте DefaultTargets
. Целевые объекты, заданные в атрибуте InitialTargets
, всегда выполняются первыми.
Использование целевого объекта, отличного от заданного по умолчанию, в первую очередь
Укажите целевой объект в качестве первого с помощью параметра командной строки -target. Например:
msbuild file.proj -target:Clean
Использование нескольких целевых объектов, отличных от заданных по умолчанию, в первую очередь
Задайте целевые объекты, разделяя их точками с запятой или запятыми, с помощью параметра командной строки -target. Например:
msbuild <file name>.proj -t:Clean;Compile