Событие предварительной сборки только в Build Solution/Project, а не в F5(отладка)

Как говорит Титтл, мне нужна предварительно скомпилированная команда CONDITION, которая выполняет exe для решения / проекта сборки и проходит, когда я использую F5.

Я нашел "$(ConfigurationName)" в качестве возможного решения на некоторых веб-сайтах, но оно работает, только если вы каждый раз меняете тип конфигурации вручную.

Кто-нибудь знает хитрость??

2 ответа

Решение

Я думаю, что вы действительно хотите отдельную конфигурацию сборки или какое-то условие, которое не запускает события, когда вы разрабатываете / отлаживаете, правильно? Вот два способа, о которых я могу думать:

  • создайте новую конфигурацию как копию текущей и исключите события сборки. Рекомендуется использовать листы свойств, и если вы это сделали, вам не придется изменять каждую конфигурацию вручную, а просто изменять лист свойств. Затем при разработке / отладке используйте новую конфигурацию
  • сделать строительные условия условными. Условием может быть переменная среды, пользовательская переменная проекта, то, что вы указываете в пакетном файле,... Предположим, что вы используете переменную среды с именем 'RUN_PREBUILD', тогда строка запятой события сборки будет, например: IF "%RUN_PREBUILD%" == "1" (echo not running postbuild) ELSE (/path/to/prebuild.command) Теперь, чтобы сделать это полностью приятным, назначьте два "внешних инструмента" в VS, один, который устанавливает переменную в 0, и один, который устанавливает ее в 1 (используйте setx, чтобы установить переменные окружения). Теперь вы можете добавить эти команды на панель инструментов, поэтому единственное, что вам нужно сделать, это нажать кнопку, чтобы указать, должна ли происходить предварительная сборка или нет.

F5 соберет проект, только если будут какие-либо изменения в коде. Поэтому я не думаю, что вы можете выполнить команду, которая всегда будет вызывать команду предварительной сборки при использовании F5.

Другие вопросы по тегам