Как автоматически создавать резервные копии в Visual Studio
Видео: Как автоматически создавать резервные копии в Visual Studio
2023 Автор: Geoffrey Carr | [email protected] . Последнее изменение: 2023-08-25 10:55
Используя мощь событий после сборки и простой пакетный скрипт, вы можете легко добавить возможность Visual Studio автоматически создавать резервную копию исходного кода для каждой сборки кода выпуска.
Как это устроено
Наше решение прост: всякий раз, когда происходит успешное событие сборки, мы запускаем пакетный скрипт, который создает сжатый архив (необязательно помеченный и отмеченный временем) всех файлов в соответствующей папке проекта Visual Studio.
Это оно. Все, что вам нужно сделать, это выполнить следующие шаги.
Настройка резервных копий автоматической сборки
Сначала вам нужно будет загрузить и извлечь файл сценария партии из ссылки внизу статьи. Кроме того, вам понадобится инструмент командной строки 7-Zip (он включается в «полную» версию сценария создания сборки проекта или вы можете загрузить его отдельно). В нашем примере мы извлекли эти файлы в каталог «C: Tools», но любое место будет работать.
Откройте свойства проекта Visual Studio, дважды щелкнув «Мой проект» в соответствующем проекте.
IF “$(ConfigurationName)” == “Release” CALL C:ToolsProjectBuildBackup.bat “$(SolutionDir)” “$(ProjectDir)” “$(ProjectName)” /T “$(ConfigurationName)” /D /7z
Используя кнопку «Макросы», вы можете иметь конкретную информацию о проекте для предварительной заготовки Visual Studio, чтобы не требовалось жесткого кодирования. Вы можете настроить эту команду по мере необходимости (особенно расположение командного файла), но первые три параметра, вероятно, не нужно будет изменять.
Важно помнить, что операции после события выполняются независимо от выбранной конфигурации проекта. Вот почему нам нужно добавить инструкцию IF «$ (ConfigurationName)» == «Release», иначе действие резервного копирования произойдет каждый успешное событие сборки.
После того, как вы закончите свою команду и примените ее, строка команд должна появиться в разделе «События после сборки».
Обратите внимание, что, хотя команда «CALL» технически не требуется, настоятельно рекомендуется, как если бы это было опущено, любые события, добавленные после этого, могут не выполняться.
Теперь всякий раз, когда вы запускаете компиляцию / сборку с вашим проектом в конфигурации Release, вы увидите вывод из операции резервного копирования сборки. […] Каждая успешная сборка Release создает новый архив с временным архивом с папкой решения в подкаталоге «Builds» (который может быть настроен с помощью переключателя / O при необходимости). Содержимое каждой резервной копии — это полный проект Visual Studio — исходные файлы, настройки конфигурации, скомпилированные двоичные файлы и все, что делает это верным моментом во время резервного копирования.
Не заменяет полную систему контроля версий
В заключение мы просто хотим повторить, что этот инструмент не предназначен для замены полностью управляемой системы управления версиями. Это просто полезный инструмент для разработчиков для создания моментальных снимков исходного кода их проекта после каждой компиляции.
В случае, если вам когда-либо придется вернуться и изучить предыдущую версию, готовый к использованию (просто извлечение в новый каталог) файл проекта для компиляции момента времени может действительно пригодиться.
связи
Загрузить сценарий создания сборки проекта
Загрузите инструмент командной строки 7-Zip (Примечание. Утилита 7za также поставляется с загрузкой из сценария создания сборки проекта)
Рекомендуемые:
Как вручную создавать резервные копии файлов Steam
Steam имеет встроенную систему для создания резервной копии своих игровых файлов, поэтому вам не нужно повторно загружать полную игру каждый раз, когда вы ее удаляете и хотите снова играть позже. Но, как и многие функции Steam, он не обновлялся довольно долгое время, и, честно говоря, ему часто удается сломать процесс восстановления игры. Кроме того, он медленный, он неуклюж, и вы можете сделать это самостоятельно.
Как легко создавать резервные копии и перемещать закладки браузера
Большинство наших данных в браузере не слишком важны — срок действия файлов cookie истекает, а истории в конечном итоге очищаются. Однако закладки отличаются друг от друга, поэтому браузеры позволяют импортировать и экспортировать закладки — идеально подходят для создания резервных копий и миграции между браузерами.
Как вручную экспортировать и создавать резервные копии контактов на Android
Android отлично справляется с синхронизацией всех ваших контактов с вашей учетной записью Google, поэтому теоретически вы никогда не должны терять всех своих контактов. Тем не менее, все происходит, и сохранить резервную копию никогда не будет плохой идеей. Вот как экспортировать все ваши контакты на Android.
Новичок: как поддерживать, архивировать и создавать резервные копии данных в Outlook 2013
Сегодня мы освещаем «скучный» материал Outlook. Техническое обслуживание и безопасность, как и при сохранении и защите файла данных Outlook 2013, полные всех важных данных, путем резервного копирования и архивирования.
Как автоматически создавать резервные копии файлов веб-сервера с помощью WinSCP через FTP
Вы слышали это снова и снова: создайте резервную копию данных. Существует множество решений для резервного копирования, но ничего лучше, чем простое и бесплатное решение. Таким образом, с несколькими строками кода и очень полезной программой под названием WinSCP, мы собираемся настроить автоматическую синхронизацию между вашим FTP-сервером и вашим домашним компьютером.
Как в Visual Studio делать резервную копию приложения после компиляции
Для этого в Visual Studio на странице настроек проекта, в разделе «Компиляция», есть т.н. События построения (Build events). Можно прописать там такую команду:
Тогда отладочные версии скомпилированного приложения будут после компиляции копироваться в папку «Folder B», а релизные – в папку «Folder A».
Кроме того, можно копировать файлы в разные директории, если заданы константы компиляции. Например, следующий пример скопирует исполняемый файл в директоию «Folder A», если задана константа «MY_CONSTANT», и в директорию «Folder B» – в противном случае. Здесь со знака двоеточия «:» начинаются метки, а инструкция goto осуществляет переход к заданной метке.
Zip files after build completes in Visual Studio
I have a requirement where I need to zip some files after I build a solution file.
Could this be achieved automatically once I build my project in Release/Debug mode?
![]()
7 Answers 7
Using powershell, only when doing Release build:
if $(ConfigurationName) == Release (powershell Compress-Archive -Path ‘$(TargetDir)*.dll’, ‘$(TargetDir)*.pdb’, ‘$(TargetDir)*.config’ -DestinationPath ‘$(SolutionDir)PublishOutput\YourNameHere.zip’ -Force)
It only zips the dll, pdb and config files.
-Force is used to overwrite the zip file on each build.
Usually I don’t put stuff like creating zip files, installers, NuGet packages etc. into my actual project.
Why? Because when I put it there, it gets executed each time I’m building the project in Visual Studio, for example when I’m debugging.
But zip files, installers etc. are only needed when I do a release, so I don’t want to wait for them to be re-generated each time I press F5 in Visual Studio.
To make a release, I usually create a batch file that executes a MSBuild project file, which creates everything that’s necessary to make a release.
IMO creating a ZIP file belongs into that MSBuild project file as well.
You can find all the information you need in these two previous answers by me:
(the actual question there is about building an installer with WiX, but in the beginning I’m creating a MSBuild project file)
Plus, here’s an example MSBuild project file from one of my projects, which does the following:
- build the project
- run unit tests
- create two release folders with binaries (one DLL and one .exe)
- create two zip files, one for each of the folders with binaries
- create a NuGet package for the DLL
- create a ClickOnce setup for the .exe
- automatically set the correct version number for everything
The great thing about this approach is that I can make a release, which includes everything I have just listed, with a single click (running a batch file).
Creating all this stuff takes some time, but as it’s not part of the Visual Studio solution, it doesn’t run each time I do a build in Visual Studio — I only execute it when I really need it.
Как архивировать проект в visual studio
![]()
Этот форум закрыт. Благодарим вас за ваш вклад. Если вам нужна дополнительная информация о том, где еще можно найти помощь, вы можете посетить страницу ресурсов.
Лучший отвечающий
Вопрос
Пользуюсь Microsoft Visual Vasic 2008 Express Edition. Вижу в папке C:\Users\<пользователь>\Documents\Visual Studio 2008 папку Backup Files. Там есть папка, сооветствующая решению, которое я сделал. Но она пустая! В IDE не нашел ничего насчет создания резервных копий. В справке — аналогично.
Как правильно сделать резевную копию хотябы проекта, не говоря уж о решении (оно у меня все равно из одного проекта)?
- Перемещено Tagore Bandlamudi 2 октября 2010 г. 0:54 MSDN Forums consolidation (От:Visual Studio — отзывы и пожелания)
Ответы
Насколько я помню, папка backup предназначена для резервной копии, которая создается автоматически при сбоях. Тогда, при следующем старте Студия предложит вам восстановиться оттуда.
Я обычно просто zip -ую корневую папку решения, но на CodePlex встречал плагины для Студии, которые позволяют это дело автоматизировать.
- Предложено в качестве ответа Vitaly Zayko 1 сентября 2009 г. 7:07
- Помечено в качестве ответа Анатолий Кирсанов 1 сентября 2009 г. 14:35
Все ответы
Насколько я помню, папка backup предназначена для резервной копии, которая создается автоматически при сбоях. Тогда, при следующем старте Студия предложит вам восстановиться оттуда.
Я обычно просто zip -ую корневую папку решения, но на CodePlex встречал плагины для Студии, которые позволяют это дело автоматизировать.
- Предложено в качестве ответа Vitaly Zayko 1 сентября 2009 г. 7:07
- Помечено в качестве ответа Анатолий Кирсанов 1 сентября 2009 г. 14:35
Центры разработки
- Windows
- Office
- Visual Studio
- Microsoft Azure
- Дополнительно.
Обучение
- Microsoft Virtual Academy
- Канал Channel 9
- Журнал MSDN
Сообщество
- Новости
- Форумы
- Блоги
- Codeplex
Свяжитесь с нами
Программы
- BizSpark (для стартапов)
- Microsoft Imagine (for students)
- Информационный бюллетень
- Конфиденциальность и файлы cookie
- Условия использования
- Товарные знаки
© 2023 Microsoft