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


Сборка конкретных целевых объектов в решениях с помощью 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

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

Примечание.

Путь, используемый в коммутаторе targets , не является путь к файловой системе. Это путь во внутреннем представлении решения и видимый в Обозреватель решений. Например, нельзя использовать синтаксис пути к файловой системе, например . или .. в коммутаторе targets . Именно поэтому проект, на который ссылается другая файловая система NotInSlnFolder , не требует явного пути, но проект в папке InSolutionFolder решения делает. Решения также могут иметь папки, созданные папкой "Добавление>решения" в Visual Studio. Эти папки используются для упорядочивания проектов в решении при просмотре в Обозреватель решений в Visual Studio. Макет файловой системы может отличаться от структуры папки решения. См . папки решения.

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

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

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