У нас есть решение для ~ 250 проектов.
Ничего страшного, после установки патча для Visual Studio 2005 для быстрой работы с чрезвычайно большими решениями [TODO add link].
Мытакже есть меньшие решения для групп с выбором их любимых проектов, но каждый добавленный проект также должен быть добавлен к основному решению, и многие люди предпочитают работать с ним.
Мы перепрограммировали ярлык F7 (сборка), чтобыпостроить проект запуска, а не целое решение.Это лучше.
Папки решений, кажется, решают проблему нахождения вещей.
Зависимости добавляются только в проекты верхнего уровня (EXE и DLL), потому что, если у вас есть статические библиотеки, еслиA - это зависимость от B, а B - это зависимость от C, A часто может не нуждаться в зависимости от C (для того, чтобы все компилировалось и работало правильно), и таким образом, циркулярные зависимости в порядке для компилятора (хотя и очень вредны для психического здоровья).).
Я поддерживаю меньшее количество библиотек, даже если у меня есть одна библиотека с именем «библиотека».Я не вижу существенного преимущества в оптимизации использования памяти процесса путем предоставления "только того, что ему нужно", и компоновщик должен делать это в любом случае на уровне объектных файлов.