it-roy-ru.com

Visual Studio Copy Project

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

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

105
sarsnake

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

124
Mitchel Sellers

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

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

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

  • Имя Шаблона
  • Описание шаблона
  • Значок
  • Предварительный просмотр изображения

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

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

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

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

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

55
Shane

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

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

Есть также этот проект на CodePlex:

http://clone.codeplex.com/

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

6
quip

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

Так,

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

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

3
Giannis Grivas

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

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

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

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

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

3
Vikram K

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

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

1
Alperon

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

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

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

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

0
Brian

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

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

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

0
Rainald62

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

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

0
Ganesh Vellanki