Так # 2 пользовательский проект Framework - это то же самое, что и # 1, но настроен для конкретного клиента?
Имеет ли смысл сделать собственный исходный код Framework веткой исходного кода Framework, вместо того, чтобы хранить его в качестве отдельного отдельного решения? Я полагаю, что это будет зависеть от того, насколько обширны различия.
Как я вижу, преимущество превращения его в ветку заключается в том, чтобы вы могли легче слить изменения между двумя ветвями. Представьте, что исправление ошибки или новая функция сделаны в # 1, а также должны применяться к # 2; TFS должна быть в состоянии сделать это проще, при условии, что TFS знает, что # 2 является только ветвью №1.
В любом случае, чтобы понять суть вашего вопроса, я подумал, что ваши другие проекты должны ссылаться на выходные сборки из этих проектов.
Я бы скопировал сборки Framework в папку под папкой решения других ваших проектов. Обычно я называю мои «Зависимости», но это действительно неважно. Пусть ваши проекты добавляют ссылку на эти файлы сборки. Я предполагаю, что ваши пользовательские сборки Framework будут иметь то же имя, что и обычные сборки Framework, поэтому вы можете надежно легко поменять эти файлы по мере необходимости (или создать отдельные ветви ваших проектов, которые используют пользовательскую структуру).
Я бы отказался вкладывать сборки в GAC, потому что во время разработки легко отключить себя, если вы забудете удалить старую версию сборки из GAC.
Хотя это может быть не может быть ценными для вашей ситуации, если вы используете подрывной, СВНЫ: внешние были бы довольно простым решением эта ситуация. – Candide