Задача: После сборки проекта в отладочном режиме автоматически скопировать файлы *.pdb и *.exe в нужную директорию.
Инструментарий: Visual Studio
Решение: Для решения данной задачи можно воспользоваться несколькими вариантами:
- Указать Output path в свойствах проекта
- Настроить Post-Build event
Рассмотрим оба случая:
Откройте свойства проекта (Для этого нужно кликнуть правой кнопкой мыши в Solution Explorer на проекте и выберем пункт меню Properties или выделить проект и выбрать в главном меню пункт Project — <ProjectName> Properties…)
Для указания Output path нужно открыть вкладку Build и в разделе Output изменить параметр Output path (Рис. 1). В моем случае указан относительный путь который указывает на папку которая расположена на 2 уровня выше от расположения проекта.
Если Вам не подходит первый вариант — можно воспользоваться вторым вариантом — post-build event’ом.
Откройте свойства проекта и перейдите на вкладку Build Events (Рис.2.). Если вы хотите узнать какие макросы можно использовать при написания post-build event’a — нажмите кнопку Edit Post-build, откроется окно в котором нужно нажать на кнопку Macros>>. В результате в этом же окно отобразится панель в которой будут описаны все макросы, которыми кожно воспользоваться в коде.
Названия макроса можно использовать следующим образом $(<MacrosName>), где <MacrosName> — имя макроса.
В результате у меня получился вот такое скрипт, который копирует собранный файл проекта и файл .pub в указанную папку, только когда установлена конфигурация — Debug .
if Debug == $(ConfigurationName) (
xcopy "$(TargetPath)" "" /y
xcopy "$(TargetDir)$(TargetName).pdb" "" /y
)