Как реорганизовать макет проекта Visual Studio и сопоставить его с проектами VSS? - PullRequest
1 голос
/ 02 июля 2010

Я нахожусь в процессе обновления с VS2008 до VS2010 и хочу провести некоторую очистку.Мое основное решение состоит из 20 или около того проектов в плоском файловом пространстве.Однако существует группировка по проектам (некоторые библиотеки, некоторые клиентские программы, некоторые тестовые программы и т. Д.), И я хотел реорганизовать структуру физического диска проектов соответствующим образом.Кроме того, моим источником управления является VSS (1), поэтому я хочу, чтобы его файловая структура была выровнена со структурой физического диска и поддерживала общую историю файлов.

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

Есть несколько SO вопросов, которые говорят о наилучшем макете для решения, но ни один из тех, что я видел, не говорит вам, какполучить от A до B

Как провести рефакторинг больших проектов в visual studio

Макет проекта на диске в visual studio

Например, я хочу перейти от "A"

Solution
  |
  |-Project1
  |-Project2
  |-Project3
  |-Project4

к "B"

Solution
  |
  |-Group1
  |   |
  |   |-Project1
  |   |-Project2
  |
  |-Group2
      |
      |-Project3
      |-Project4

обновление 1

Я должен иметьупомянул, что я попробовал очевидный метод создания папок решений для «Group1» и «Group2» и затем перетаскивал проекты в их новые местоположения под каждой папкой.Это хорошо работает для создания логической организации проектов в VS2010, но не меняет физическое расположение проектов на диске.

Обновление 2

Я попытался удалитьпроект из решения, физически перемещая его на диск и затем добавляя его в папку решения.Это позволяет переместить на диск, но проект запомнил, где он был изначально в VSS и связан с этими файлами, а не VS2010, создав новую структуру проекта в VSS

Обновление 3

Подумав немного, я понял, что я прошу больше о том, как перенастроить проекты VSS с разметкой физического диска после перемещения проектов в VS2010.Исправление этого повлечет за собой модификации как макета проекта VSS, так и внутренних компонентов проекта VS2010.Поэтому я обновил теги и заголовок вопроса.

Обновление 4 - Мое ручное решение

ОК, поэтому я разработал очень интенсивный метод для перемещения объектов:

  1. Удалить проект из решения VS2010

  2. Переместить его в новое место на диске

  3. Удалите все связанные с VSS файлы из проекта

  4. Откройте файл проекта в текстовом редакторе и удалите все связанные с VSS записи (все они начинаются с "Scc")

  5. Добавьте проект обратно в решение и заново создайте любой проект для ссылок на проекты

  6. Проверьте решение и проект обратно в VSS и закройте VS2010

  7. Откройте VSS и удалите файлы только с кодом из нового местоположения проекта в VSS

  8. Совместно используйте файлы из старого местоположения в VSS

  9. Удалить файлы из старого расположения в VSS

  10. Удалить старое местоположение проекта в VSS

Это лучший / единственный способ сделать это?

(1) Да, я знаю - VSS.Тем не менее, в контексте того, что я использую его, он прекрасно работает, и я не ошибся, и хотя я изучил другие варианты, я не собираюсь менять сейчас.Поэтому, пожалуйста, никаких комментариев о том, как мне перейти к следующему лучшему в контроле исходного кода.И если это не поможет вам, как на счет этого: я на самом деле использую доступный и активно поддерживаемый коммерческий продукт, который использует VSS в качестве внутреннего хранилища данных управления версиями!

1 Ответ

0 голосов
/ 02 июля 2010

Звучит так, будто ты там почти весь путь.Вы можете открыть файл .sln в текстовом редакторе и вручную изменить пути к файлам. (Vs | cs) proj.Это должно позволить вам использовать желаемую структуру.

...