временно отключить события сборки в visual studio - PullRequest
5 голосов
/ 06 февраля 2012

Есть ли способ временно отключить события до и после сборки?

т.е. сборка без событий сборки (которые занимают немного времени, но не всегда имеют решающее значение для запуска)

вв тот момент, когда у меня происходит минификация и еще пара вещей, и мне это не всегда нужно.

Ответы [ 4 ]

11 голосов
/ 06 февраля 2012

Самый простой способ отключить события сборки - передать пустые значения:

msbuild your.sln /p:PreBuildEvent=;PostBuildEvent=
9 голосов
/ 07 февраля 2012

Такие вещи, как минимизация, имеют значение только для сборки выпуска. Так что вы можете пропустить это так:

if "$(ConfigurationName)" == "Debug" goto skip
; stuff here...
:skip

Есть и другие макросы, которые вы можете использовать, нажмите кнопку «Редактировать» и кнопку «Макрос >>», чтобы увидеть их. Переменные окружения также могут быть проверены, используйте% varname%. Но установить намного сложнее.

6 голосов
/ 05 февраля 2015

Я также немного поиграл с msbuild foo.vcxproj /p:PreBuildEvent= /p:PostBuildEvent=, но для меня это не сработало, вероятно, потому, что я использую файлы с настраиваемым реквизитом.

Однако я нашел /p:PostBuildEventUseInBuild=false

3 голосов
/ 06 февраля 2012

Проверьте настройки событий после постройки. На вкладке «События сборки» измените значение поля со списком «Запустить событие после сборки» на «Когда сборка обновит выходные данные проекта». События после сборки будут выполняться только после обновления выходной сборки.

OR

Используйте команду MSBuild для построения вашего решения (это полезно для проектов с несколькими решениями). Создайте файл «DisableBuildEvents.msbuild» где-нибудь на вашем компьютере. DisableBuildEvents.msbuild содержимое:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="PostBuildEvent"/>
  <Target Name="PreBuildEvent" />
</Project>

Выполнить MsBuild с CustomAfterMicrosoftCommonTargets , установленным в командной строке:

MSBuild.exe YourSolution.sln /t:Build p:CustomAfterMicrosoftCommonTargets="c:\DisableBuildEvents.msbuild"

Примечание. Значение CustomAfterMicrosoftCommonTargets должно быть полным путем.

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