VS 2010. Пост-сборка. Копировать файлы в несколько каталогов / несколько выходных путей - PullRequest
16 голосов
/ 01 декабря 2010

У меня есть проект MVC, и я хочу разделить его вывод.

Я хочу скопировать все DLL-файлы этого проекта (все содержимое каталога Bin) в один каталог, а все представления (содержимое представления View) - в другой выходной каталог.

Настройки проекта в VS 2010 не позволяют мне сделать это просто.

Я могу указать только один путь вывода в настройках, и я не могу указать, какие каталоги или типы файлов копировать и где.

Я думаю, что я должен оставить выходной каталог по умолчанию, а затем мне нужно разделить вывод так, как я хочу, используя команду Post-build.

Может быть, кто-то сделал что-то подобное и есть идеи, как это сделать лучше всего?

Ответы [ 3 ]

22 голосов
/ 02 декабря 2010

Решение

1) Установите выходной путь к каталогу, куда вы хотите скопировать файлы * dll в свойствах проекта

2) Использование события после сборки для копирования содержимого каталога View в любой каталог, который вы хотите

в моем случае

1) Выходной путь я установил на

.. \ MyDestinationProjectName \ Bin \

2) Событие после сборки для копирования Просмотр каталога выглядит следующим образом

xcopy "$ (ProjectDir) \ Views" "$ (SolutionDir) \ MyDestinationProjectName \ Plugins \ Views \ $ (ProjectName) \" / s / i / y

3 голосов
/ 07 февраля 2014

Это должен быть комментарий к @ caiosm1005, но мне не хватает очков. Как указано @Riapp, используйте команду xcopy. Подробное описание переключателей можно найти здесь Переключатели Xcopy и Xcopy32

Мое решение было: xcopy "$(TargetDir)$(TargetFileName)" "C:\Mydestination" /s /i /y

TargetDir содержит полный путь к скомпилированному файлу, а TargetFileName представляет собой комбинацию TargetName и TargetExt. Не добавляйте разделитель обратной косой черты после переменной каталога, например $(TargetDir)\$(TargetFileName) потерпит неудачу, потому что это будет интерпретировано как "TargetName**\\** TargetExt".

Как только вы посмотрите на значения в макросах, должно быть легко выбрать то, что вы хотите. Помните, что вам нужно делать это для каждого проекта в вашем решении. События сборки можно найти, щелкнув правой кнопкой мыши по проекту, выбрав свойства, а затем выбрав вкладку Build Events.

0 голосов
/ 07 февраля 2014

Это должен быть комментарий к caiosm1005, но мне не хватает очков.Как указано в Riap, используйте команду xcopy.Подробное описание переключателей можно найти здесь Переключатели Xcopy и Xcopy32

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...