Я новичок в TFS (и контроль версий в стиле ветвления / слияния). Я читал Руководство по ветвлению TFS на 2010 год, но у меня возникли некоторые разногласия по поводу того, как мои решения должны быть сопоставлены с контролем версий. Я думаю, что моя главная проблема заключается в том, чтобы понять, как лучше всего разместить библиотеки классов, совместно используемые решениями.
Наша среда - бизнес-направление, в котором насчитывается около десятка отдельных веб-приложений и около полудюжины библиотек классов, совместно используемых веб-приложениями. Наши решения обычно состоят из одного из веб-приложений, проекта модульного тестирования, проектов поддержки библиотеки классов и любых сторонних ссылок на сборки.
Итак, два репрезентативных решения будут выглядеть так:
РЕШЕНИЕ А
- Проект WebApp11
- WebApp11UnitTests Project
- Проект ClassLib11
- Проект ClassLib22
- Проект ClassLib33
- bin \ *. dll
РЕШЕНИЕ B
- Проект WebApp22
- WebApp22UnitTests Project
- Проект ClassLib11
- Проект ClassLib22
- Проект ClassLib44
- Проект ClassLib55
- bin \ *. dll
Как они должны быть структурированы в TFS?
Создаем ли мы командный проект для каждого решения, например, чтобы ClassLib11 принадлежал как к решению команды A, так и к решению команды B?
Я думаю, да, так что каждый командный проект состоит из всего, что требуется для развертывания в производство.
Что если мы используем пару разных файлов решений, например, один большой файл решения, в котором есть каждое веб-приложение и каждая библиотека классов? Где это решение подходит?