Лучшая практика для разделения проектов между деревьями решений (MSVS 2008 и MSVS 2010) - PullRequest
5 голосов
/ 02 августа 2010

У нас более 50 проектов, разделенных на 2 дерева решений, управляемых TFS (Версия: Visual Studio 2008 / TFS RTM (9.0.21022.8)).

30 + проекты - это проекты Visual Studio 2008, другие - Visual Studio 2010

В новых проектах используются более старые сборки через ссылки на двоичные файлы.

При разработке новых проектов мы должны вносить изменения в более старые сборки, поэтому мы должны держать 2 экземпляра MSVS открытыми одновременно.

Есть ли способ обмена компилируемыми источниками с TFS между двумя разными деревьями решений студий?Или мы должны обновить дерево решений 2008 до 2010?Поддерживает ли TFS 2008 общие проекты (или, возможно, его тоже нужно обновить)?

Заранее спасибо!

1 Ответ

6 голосов
/ 02 августа 2010

Andrew:

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

Что мы делаем, это:

  1. Все двоичные файлы возвращаются в TFS в папке LocalBin, которая объединяет все наши двоичные файлы.
  2. Все общие сборки находятся в папке с именем LocalBin / SharedBin
  3. Папка SharedBin разветвляется на папку верхнего уровня SharedBin внутри группового проекта-потребителя.
  4. При успешной основной сборке LocalBin / Sharedbin объединяется с папками SharedBin проектов.

Получается что-то вроде этого:

$/ProjectA/Main/Localbin/SharedBin разветвляется на $/ProjectB/Main/SharedBin и $/ProjectB/Dev/Sharedbin (а также эквивалентные папки в $/ProjectC, $/ProjectD и так далее).

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

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

Это одна из тех вещей, которые трудно полностью описать в публикации, поэтому, если у вас есть дополнительные вопросы, я буду рад ответить на них.

Кстати, наше решение было построено и работает под TFS2008 с тысячами файлов проекта и, вероятно, миллионами строк кода. Это увеличивает время сборки из-за слияния и увеличивает объем пространства, используемого в вашем хранилище, но до сих пор оба были управляемы.

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