Когда Visual Studio вызывает целевой объект AfterBuild & BeforeBuild? И как это обрабатывается, когда эти цели не определены? - PullRequest
4 голосов
/ 09 апреля 2010

Сегодня я сталкиваюсь с подобной проблемой, и она напоминает мне об этой теме.В Visual Studio, если мы открываем файл .csproj, мы видим, что они говорят нам раскомментировать две цели AfterBuild и BeforeBuild, чтобы выполнить их после и до сборки текущего проекта соответственно.

Мои вопросыявляются: Где эти две цели называются в Visual Studio?И как это происходит, если цели не определены (закомментированы)?

1 Ответ

9 голосов
/ 10 апреля 2010

Эти цели содержатся в файле с именем Microsoft.Common.targets. Этот файл импортируется в ваши скрипты через другой импорт, Microsoft.CSharp.targets (или аналогичный для других языков). Поэтому они всегда определяются, когда начинается сборка. В файлах вашего проекта вы можете переопределить эти цели, повторно объявив их после оператора <Import для файла, упомянутого ранее. Если вы объявите их до <Import, то ваши цели будут игнорироваться, потому что будут использоваться пустые в Microsoft.Common.targets.

Подробнее о расширении процесса сборки см. Мою статью Внутри MSBuild или, что еще лучше, мою книгу Внутри Microsoft Build Engine !

В ответ на предыдущий комментарий эти цели являются частью процесса сборки, который создает ваши проекты. Они сохраняются в файлах MSBuild и не являются частью MSBuild или Visual Studio.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...