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.