Выбор целевого объекта для первой сборки

Файл проекта может содержать один или несколько элементов 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