Поделиться через


Укажите целевой объект 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