VS 2010. Post-build. Скопируйте файлы в несколько каталогов/несколько путей вывода
У меня есть проект MVC, и я хочу разделить его вывод.
Я хочу скопировать все DLL файлы этого проекта (все содержимое из каталога Bin) в один каталог и все представления (содержимое каталога) в другой выходной каталог.
Настройки проекта в VS 2010 не позволяют мне сделать это просто.
Я могу указать только один путь вывода в настройках, и я не могу указать, какие каталоги или типы файлов для копирования и где.
Я думаю, что я должен оставить выходной каталог по умолчанию, а затем мне нужно разделить вывод так, как я хочу, используя команду Post-build.
Возможно, кто-то сделал что-то подобное и у него есть идеи, как это сделать лучше всего?
Ответы
Ответ 1
Решение
1) Установите выходной путь в каталог, в который вы хотите скопировать файлы * dll в свойствах проекта
2) Использование события post-build для копирования содержимого каталога Просмотр в любой каталог, который вы хотите
в моем случае
1)
Выходной путь я установлен на
..\MyDestinationProjectName\Bin\
2) Событие после сборки для копирования. Каталог выглядит так:
xcopy "$ (ProjectDir)\Views" "$ (SolutionDir)\MyDestinationProjectName\Plugins\Views\$(ProjectName) \" /s/i/y
Ответ 2
Это должен быть комментарий к @caiosm1005, но мне не хватает очков.
Как указано @Riapp, используйте команду xcopy
. Подробное описание коммутаторов можно найти здесь Xcopy и Xcopy32 Switches
Мое решение было:
xcopy "$(TargetDir)$(TargetFileName)" "C:\Mydestination" /s /i /y
TargetDir
содержит полный путь к скомпилированному файлу, а TargetFileName
- комбинация TargetName
и TargetExt
.
Не добавляйте разделитель обратной косой черты после переменной каталога, например. $(TargetDir)\$(TargetFileName)
будет терпеть неудачу, потому что он будет интерпретироваться как "TargetName**\\** TargetExt"
.
Как только вы посмотрите на значения в Макросах, вам будет легко выбрать то, что вы хотите.
Помните, что вам нужно сделать это в каждом проекте в рамках своего решения.
События сборки можно найти, щелкнув правой кнопкой мыши по проекту, выбрав свойства и выбрав вкладку Build Events
.