Visual Studio Copy Project - PullRequest
       37

Visual Studio Copy Project

112 голосов
/ 19 мая 2009

Я хотел бы сделать копию моего проекта. Я бы предпочел не начинать делать это с нуля, добавляя файлы и ссылки и т. Д. Обратите внимание, что я не имею в виду копирование для развертывания. Просто копия.

Есть ли в VS инструмент для этого? Я использую VS 2008

Ответы [ 9 ]

129 голосов
/ 19 мая 2009

Если вам нужна копия, самый быстрый способ сделать это - сохранить проект. Затем сделайте копию всей вещи в файловой системе. Вернитесь в Visual Studio и откройте копию. Оттуда я, скорее всего, рекомендую переименовать проект / решение, чтобы у вас не было двух одинаковых имен, но это самый быстрый способ сделать копию.

68 голосов
/ 06 марта 2017

Просто создать шаблон ;

Из вашего проекта выбрал: Project - Export Template

Мастер позволит вам определить

  • Имя шаблона
  • Описание шаблона
  • Icon
  • Предварительный просмотр

Затем он заархивирует ваш проект в каталог «Мои экспортированные шаблоны». У вас также есть возможность сделать ваш шаблон доступным при создании нового проекта.

Когда вы используете свой шаблон для создания нового проекта, пространство имен будет правильным для 'your_new_project_name' во всех файлах, все ссылки верны, все идеально:)

Вы можете отправить файл .zip кому угодно, и он должен скопировать (не разархивировать) файл .zip в каталог Templates \ ProjectTemplates, чтобы они тоже могли его использовать.

Я сделал шаблон ASP.NET MVC с папками, страницей макета, моделями представления и т. Д., Упорядоченными так, как они мне нравятся.

Примечание:
Если в вашем проекте есть пустая папка, она НЕ будет добавлена ​​в шаблон, поэтому я просто добавил пустой класс, соответствующий каждой папке, и образец изображения для папки с изображениями.

6 голосов
/ 15 января 2012

Полагаю, если вы часто этим занимаетесь, есть небольшая (несвободная) утилита, которая обещает сделать это за вас: я не использовал ее, поэтому не уверен, насколько она хороша:

http://www.kinook.com/CopyWiz/

Существует также этот проект на CodePlex:

http://clone.codeplex.com/

Я, вероятно, попробую проект codeplex, и если он не сработает, я все вручную переименую и отредактирую файл sln.

3 голосов
/ 11 января 2017

Весьма НЕ СОВЕРШЕНО для копирования проектов вообще, потому что некоторые файлы конфигурации, сформированные внутренне, такие как .csproj, .vspscc и т. Д., Могут (и, скорее всего, будут) указывать на ссылки которые принадлежат местоположению предыдущих решений и другим путям / местоположениям в системе или TFS. Если вы не разбираетесь в этих файлах и не исправляете ссылки, не пытайтесь копировать проекты.

Вы можете создать скелетный проект того же типа, который вы собираетесь копировать, это создаст правильные файлы .csproj, .vspscc . Теперь вы можете свободно копировать файлы классов, сценарии и другой контент из предыдущего проекта, поскольку они не будут влиять. Это обеспечит бесперебойную сборку и контроль версий (если вы захотите быть заинтересованным в этом)

Сказав все это, позвольте мне дать вам способ пошагового копирования проекта в любом случае:

  1. Перейдите к проекту, который вы хотите скопировать, в обозревателе решений и щелкните правой кнопкой мыши .
  2. Теперь выберите ' Открыть папку в проводнике ' (при условии, что решение сопоставлено с локальным путем на вашем диске).
  3. Выберите проекты, которые вы хотите скопировать как целые папки (вместе со всеми зависимостями, файлом bin .vspscc, файлом .csproj)
  4. Вставьте их в нужное место (это может быть та же папка решения или даже другая папка решения. Если она находится в той же папке решения, вам потребуется переименовать ее, а также .csproj и другие внутренние файлы в новое имя).
  5. Нет возврата в Visual Studio, Щелкните правой кнопкой мыши Решение> Добавить> Существующий проект ...
  6. Найдите и выберите файл проекта (файл .csproj) в том месте, в котором вы его поместили, и выберите « open »
  7. Этот файл теперь отображается в обозревателе решений для вас.

Теперь вам, возможно, придется исправлять несколько ошибок сборки, возможно, с помощью дублированных / отсутствующих ссылок и прочего, но в остальном это логично и структурировано так, как вы и ожидали.

3 голосов
/ 24 сентября 2014

Я следую этим шагам и использую инструмент разработки под названием Resharper , который, кстати, потрясающий:

Итак,

  1. Скопируйте существующую папку проекта в нужное место назначения
  2. Перейдите в систему управления исходным кодом и щелкните правой кнопкой мыши нужную корневую папку и выберите «Добавить элементы в папку ...» . Затем появится мастер, который выберет файлы для копирования ( в некоторых файлах нет необходимости, и по умолчанию мастер поможет вам по этой причине).
  3. Изменить имя файла решения (* .sln)
  4. Измените имена подпроектов, если они существуют.
  5. Используйте Resharper для изменения привязки namespaces name (я буду автоматически выполнять грязную работу с безопасностью). Альтернативный способ - вручную изменить все пространства имен с новым именем.
  6. То же действие с именами методов.
  7. Проверьте свойства решения , если хотите изменить.

Вот и все. Вы готовы !!!

1 голос
/ 01 октября 2012

На самом деле лучший способ - создать новый проект с нуля, а затем перейти в папку с файлами проекта, которые вы хотите скопировать (проект, форма 1, все, кроме папок). Например, переименуйте файлы (за исключением файлов form1): я скопировал файлы Ch4Ex1 в свой проект Ch4Ex2, но сначала переименовал файлы в Ch4Ex2. Скопируйте и вставьте эти файлы в обозреватель решений для нового проекта в Visual Studio. Затем просто перезаписать файлы, и вы должны быть в порядке!

Старая тема, но я надеюсь, что это поможет любому, кто ищет этот ответ!

0 голосов
/ 25 октября 2017

После попытки решения выше и создания копии для проектов MVC

Для проектов MVC обновите номера портов в файле .csproj, вы можете воспользоваться помощью iis applicationhost.config для проверки номеров портов. Те же номера портов вызовут проблему загрузки сборки в IIS.

0 голосов
/ 25 мая 2017

Мое решение немного отличается - компьютер, на котором находился пакет, умер, и поэтому я был вынужден воссоздать его на другом компьютере.

Что я сделал (в VS 2008), чтобы открыть следующие файлы в моем каталоге:

                  - <package name>.djproj
                  - <package name>.dtproj.user
                  - <package name>.dtxs
                  - <package name>.sln
                  - Package.dtsx

Когда я делал это, всплывающее окно спрашивало меня, будет ли файл sln новым решением, и когда я нажимал «да», все работало отлично.

0 голосов
/ 26 октября 2016

У меня есть проект, в котором исходные файлы находятся в папке под папкой проекта. Когда я скопировал папку проекта без исходной папки и открыл скопированный проект, исходные файлы не пропали, а были найдены в старом месте. Я закрыл проект, скопировал также исходную папку и заново открыл проект. Теперь проект волшебным образом ссылается на скопированные исходные файлы (и новый путь, отображаемый при «сохранить как», и изменение в файле было сохранено в скопированной версии).

Предостережение: если как папка старого, так и нового проекта не находятся под папкой используемой библиотеки, вышеупомянутое волшебство отбрасывает также абсолютную ссылку на библиотеку и ожидает ее по тому же относительному пути.

Я пробовал это с VS Express 2012.

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