Сборка конкретных целевых объектов в решениях с помощью MSBuild.exe
Можно использовать MSBuild.exe для создания конкретных целевых объектов определенных проектов в решении.
Создание конкретного целевого объекта определенного проекта в решении
В командной строке измените каталог на папку решения и введите
MSBuild.exe <SolutionName>.sln
его, но еще не введите. Используйте имя решения.Укажите целевой объект после параметра
-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, который отображает внутреннее представление решения во время построения. Просмотрите это представление, чтобы определить доступные для сборки целевые объекты и ознакомиться с другими параметрами конфигурации.
Не выполняйте сборку с этой заданной переменной среды, пока вам не потребуется этом внутреннее представление. Этот параметр может вызвать проблемы сборки в решении. Вместо этого обратитесь к двоичным файлам журнала.
Связанный контент
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по