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


Практическое руководство. Выбор цели для первого построения

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

См. также

Задачи

Практическое руководство. Очистка построения

Основные понятия

Цели MSBuild

Другие ресурсы

MSBuild