На самом деле это не так - Microsoft говорит, что лучший способ справиться со ссылками - построить ваш проект в одном огромном решении. Да, я знаю, они действительно имеют в виду это тоже.
Команда по шаблонам и практикам объединила свои лучшие практики в отношении TFS, но это применимо к общим сборкам. Существует 3 типа установки решения: «1 большое решение», многораздельный подход, который во многом похож на то, как большинство людей использовали для управления сборками, собирая по очереди и копируя артефакты в общий каталог (который не помог .NET не наличие общесерверного пути «include» или «library» к ссылке) и настройка Multiple Solution, которая является более сложной версией Partitioned.
Они говорят
In general you should:
Use a single solution strategy unless the resulting solution is too large to load into Visual Studio.
Use multiple solutions to create specific views on sub-systems of your application.
Use multiple solutions to reduce the time it takes to load a solution and to reduce build time for developers.
Для TFS они рекомендуют ветвить любые внешние проекты внутри вашего проекта, а не полагаться на отображение рабочей области, которое больше похоже на внешние эффекты Subversion. Лично я думаю, что их советы не являются лучшей практикой, но я предполагаю, что они пытаются минимизировать любые проблемы сборки, которые вы получите при использовании ссылок.
У меня были проблемы со сборками .NET, которые пытаются урезать систему, создавая только то, что нужно, ночная сборка, которая делает все и копирует каждую новую сборку в каталог, была лучшим способом для всех синхронизироваться - особенно для тестировщиков. Обратите внимание, что это действительно относится только к приложениям .NET, приложения C ++, как правило, все еще работают, потому что у них нет сборок с версиями или подобных аспектов, которые могут вызвать проблемы с вызовом компонентов. Этот подход работает хорошо, но вы не всегда можете предположить, что частичные сборки в порядке, все это сводится к нулю, и перестройка является наиболее безопасной.