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


Сборка конкретных целевых объектов в решениях с помощью MSBuild.exe

Можно использовать MSBuild.exe для создания конкретных целевых объектов определенных проектов в решении.

Создание конкретного целевого объекта определенного проекта в решении

  1. В командной строке измените каталог на папку решения и введите MSBuild.exe <SolutionName>.slnего, но еще не введите. Используйте имя решения.

  2. Укажите целевой объект после параметра -target: в формате <имя_проекта>:<имя_целевого_объекта>. Если в имени проекта содержатся символы %, $, @, ;, ., (, ) или ', замените их на _ в указанном имени целевого объекта.

Если вы не уверены, какие целевые объекты доступны, вы можете получить список целевых объектов, доступных для одного проекта, вызвав MSBuild с параметром -targets (-ts) . Например, MSBuild.exe -ts SomeProject.proj. Этот -targets параметр -ts доступен только в файлах проекта, а не в файле решения.

Пример

В следующем примере выполняется целевой объект Rebuild проекта NotInSlnFolder, а затем выполняется целевой объект Clean проекта InSolutionFolder, который находится в папке решения Новая_папка.

msbuild SlnFolders.sln -target:NotInSlnfolder:Rebuild;NewFolder\InSolutionFolder:Clean

При создании определенного целевого объекта также активируются другие зависимые целевые объекты для сборки.

Устранение неполадок

Если вы хотите изучить проект решения, воспользуйтесь параметром отладки, предоставляемым MSBuild. Задайте переменную среды MSBUILDEMITSOLUTION=1 и выполните сборку решения. Будет создан файл MSBuild с именем <SolutionName>.sln.metaproj, который отображает внутреннее представление решения во время построения. Просмотрите это представление, чтобы определить доступные для сборки целевые объекты и ознакомиться с другими параметрами конфигурации.

Не выполняйте сборку с этой заданной переменной среды, пока вам не потребуется этом внутреннее представление. Этот параметр может вызвать проблемы сборки в решении. Вместо этого обратитесь к двоичным файлам журнала.