Укажите целевой объект MSBuild для первой сборки

Файлы проекта MSBuild могут содержать один или несколько целевых объектов, определяющих способ создания проекта. MSBuild создает первый целевой объект, который он находит, и любые зависимости, если только:

  • Элемент Project содержит атрибут InitialTargets.
  • Элемент Project содержит атрибут DefaultTargets.
  • Команда MSBuild имеет параметр -target, указывающий целевой объект.

Использование атрибута InitialTargets

Атрибут InitialTargets элемента Project указывает начальный целевой объект, который выполняется сначала. Он переопределяет любые цели, указанные с помощью MSBuild в командной строке или в атрибуте DefaultTargets элемента Project.

Указание одного начального целевого объекта

Укажите целевой объект по умолчанию в атрибуте InitialTargets элемента Project. Например:

<Project InitialTargets="Clean">

Указание нескольких начальных целевых объектов

Можно указать несколько начальных целевых объектов в атрибуте InitialTargets элемента Project. Выведите список целевых объектов в порядке и используйте точку с запятой для разделения каждого целевого объекта. Цели в списке выполняются последовательно.

Например, чтобы запустить целевой объект Clean, а затем Compile целевой объект, введите:

<Project InitialTargets="Clean;Compile">

Использование атрибута DefaultTargets

Атрибут DefaultTargets элемента Project указывает, какой целевой объект или целевые объекты создаются, если целевой объект не указан явным образом в командной строке.

Если целевые объекты указаны как в InitialTargets, так и в атрибутах DefaultTargets элемента Project, а целевой объект не указан в командной строке, MSBuild запускает целевые объекты, указанные в атрибуте InitialTargets, а затем целевые объекты, указанные в атрибуте DefaultTargets.

Указание одного целевого объекта по умолчанию

Укажите целевой объект по умолчанию в атрибуте DefaultTargets элемента Project. Например:

<Project DefaultTargets="Compile">`

Указание нескольких целевых объектов по умолчанию

Можно указать несколько целевых объектов по умолчанию в атрибуте DefaultTargets элемента Project. Выведите список целевых объектов по умолчанию в порядке и используйте точку с запятой для разделения каждого целевого объекта. Цели в списке выполняются последовательно.

Например, чтобы запустить целевой объект Clean, а затем Compile целевой объект, введите:

<Project DefaultTargets="Clean;Compile">

Используйте переключатель -target для переопределения целевого значения по умолчанию

Если целевой объект по умолчанию не определен в файле проекта или если вы не хотите использовать определенный целевой объект по умолчанию, можно использовать параметр командной строки -target для указания другого целевого объекта. Целевой объект или целевые объекты, указанные с помощью коммутатора -target, выполняются вместо целевых объектов, указанных атрибутом DefaultTargets элемента Project. Целевые объекты, указанные в атрибуте InitialTargets, всегда выполняются первым.

Переопределите целевой объект по умолчанию одним целевым объектом

Укажите цель для использования в качестве первой цели с помощью переключателя командной строки -target, указав двоеточие (:) и имя цели. Например:

msbuild file.proj -target:Clean

Переопределите цель по умолчанию с использованием нескольких целей

Укажите список целевых объектов для использования в качестве первых целевых объектов и разделите их точкой с запятой с помощью переключателя командной строки -target. Например:

msbuild <file name>.proj -t:Clean;Compile