Visual Studio, копирование решения в папку при сборке

Я ищу способ добавить дополнительный шаг сборки, который создаст резервную копию всего моего решения. Я хочу, чтобы это делалось только в том случае, если файл в решении или само решение полностью отсутствуют в папке назначения или каталоге flashdrive. Какой самый простой способ добиться этого? Желательно, чтобы это происходило только в том случае, если файл считается "более новым", и избегайте копирования и замены, если файл не изменился с момента последнего резервного копирования.

1 ответ

Решение

Вы можете сделать это с помощью командного файла, используя

xcopy /D

который будет копировать только те файлы, время источника которых новее, чем время назначения. Или же robocopy,

Это может рекурсивно копировать весь каталог, отдельные папки или файлы определенных типов. Если вы готовы запускать свои сборки из самого пакетного файла (а не из Visual Studio), в пакетном файле есть все, что вам нужно. В противном случае вы можете найти событие Pre-build для всего решения? полезно для настройки этого для работы через Visual Studio. Если вы будете следовать этому процессу, вы сможете использовать макросы Visual Studio для команд сборки, такие как $(SolutionPath),

Если вам нужны только те файлы, которые фактически содержатся в ваших проектах, тогда может потребоваться анализ файлов решения и проекта..NET Framework предоставляет некоторые библиотеки для анализа файлов решения или проекта (SolutionParser). См. Анализ файлов решения Visual Studio.

Это было бы немного работы, но вы строите список только тех файлов, которые содержатся в ваших проектах и ​​использовать с xcopy или же robocopy,

Другие вопросы по тегам