Сборка конкретных целевых объектов в решениях с помощью 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
При создании определенного целевого объекта также активируются другие зависимые целевые объекты для сборки.
Примечание.
Путь, используемый в коммутаторе targets
, не является путь к файловой системе. Это путь во внутреннем представлении решения и видимый в Обозреватель решений. Например, нельзя использовать синтаксис пути к файловой системе, например .
или ..
в коммутаторе targets
. Именно поэтому проект, на который ссылается другая файловая система NotInSlnFolder
, не требует явного пути, но проект в папке InSolutionFolder
решения делает. Решения также могут иметь папки, созданные папкой "Добавление>решения" в Visual Studio. Эти папки используются для упорядочивания проектов в решении при просмотре в Обозреватель решений в Visual Studio. Макет файловой системы может отличаться от структуры папки решения. См . папки решения.
Устранение неполадок
Если вы хотите изучить проект решения, воспользуйтесь параметром отладки, предоставляемым MSBuild. Задайте переменную среды MSBUILDEMITSOLUTION=1
и выполните сборку решения. Будет создан файл MSBuild с именем <SolutionName>.sln.metaproj, который отображает внутреннее представление решения во время построения. Просмотрите это представление, чтобы определить доступные для сборки целевые объекты и ознакомиться с другими параметрами конфигурации.
Не выполняйте сборку с этой заданной переменной среды, пока вам не потребуется этом внутреннее представление. Этот параметр может вызвать проблемы сборки в решении. Вместо этого обратитесь к двоичным файлам журнала.