Как запускать события пост-сборки Visual Studio только для отладочной сборки

562
задан JC. 29 September 2008 в 18:41
поделиться

6 ответов

Пред - и События Постсборки, выполненные как сценарий пакетной обработки. Можно сделать условный оператор по телефону $(ConfigurationName).

, Например

if $(ConfigurationName) == Debug xcopy something somewhere
701
ответ дан Jakub Konecki 29 September 2008 в 18:41
поделиться

Добавьте свое событие сборки сообщения как нормальный. Тогда сохраните Вас проект, откройте его в Блокноте (или Ваш любимый редактор) и добавьте условие к группе свойства PostBuildEvent. Вот пример:

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <PostBuildEvent>start gpedit</PostBuildEvent>
</PropertyGroup>
121
ответ дан Abel 29 September 2008 в 18:41
поделиться

Можно передать имя конфигурации к сценарию постсборки и проверить его там, чтобы видеть, должно ли это работать.

Передача имя конфигурации с $ (ConfigurationName)

Проверка это на основе того, как Вы реализуете шаг постсборки - это будет параметр командной строки

4
ответ дан Lou Franco 29 September 2008 в 18:41
поделиться

Как любой проект, устанавливающий buildevents, может быть настроен на Конфигурацию, просто выбрать конфигурацию, которую Вы хотите изменить в выпадающем из диалогового окна Страниц свойств и отредактировать шаг

сборки сообщения
-2
ответ дан Harald Scheirich 29 September 2008 в 18:41
поделиться

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

if $(ConfigurationName) == Debug goto :debug

:release
signtool.exe ....
xcopy ...

goto :exit

:debug
' debug items in here

:exit

Таким образом, вы можете иметь события для любой конфигурации и по-прежнему управлять ими с помощью макросов, вместо того, чтобы передавать их в пакетный файл, и помните, что% 1 - это $ (OutputPath) и т. Д .:

105
ответ дан 22 November 2019 в 22:11
поделиться

К вашему сведению, вам не нужно использовать goto. команда оболочки IF может использоваться с круглыми скобками:

if $(ConfigurationName) == Debug (
  copy "$(TargetDir)myapp.dll" "c:\delivery\bin" /y
  copy "$(TargetDir)myapp.dll.config" "c:\delivery\bin" /y
) ELSE (
  echo "why, Microsoft, why".
)
507
ответ дан 22 November 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: