Пред - и События Постсборки, выполненные как сценарий пакетной обработки. Можно сделать условный оператор по телефону $(ConfigurationName)
.
, Например
if $(ConfigurationName) == Debug xcopy something somewhere
Добавьте свое событие сборки сообщения как нормальный. Тогда сохраните Вас проект, откройте его в Блокноте (или Ваш любимый редактор) и добавьте условие к группе свойства PostBuildEvent. Вот пример:
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<PostBuildEvent>start gpedit</PostBuildEvent>
</PropertyGroup>
Можно передать имя конфигурации к сценарию постсборки и проверить его там, чтобы видеть, должно ли это работать.
Передача имя конфигурации с $ (ConfigurationName)
Проверка это на основе того, как Вы реализуете шаг постсборки - это будет параметр командной строки
Как любой проект, устанавливающий buildevents, может быть настроен на Конфигурацию, просто выбрать конфигурацию, которую Вы хотите изменить в выпадающем из диалогового окна Страниц свойств и отредактировать шаг
сборки сообщенияВ качестве альтернативы (поскольку события помещаются в пакетный файл и затем вызываются), используйте следующее. (в поле события сборки, а не в пакетном файле):
if $(ConfigurationName) == Debug goto :debug
:release
signtool.exe ....
xcopy ...
goto :exit
:debug
' debug items in here
:exit
Таким образом, вы можете иметь события для любой конфигурации и по-прежнему управлять ими с помощью макросов, вместо того, чтобы передавать их в пакетный файл, и помните, что% 1 - это $ (OutputPath) и т. Д .:
К вашему сведению, вам не нужно использовать 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".
)