Non è proprio così - Microsoft dice che il modo migliore per gestire i riferimenti è quello di costruire il tuo progetto in un'unica soluzione. Sì, lo so, lo vogliono davvero anche loro.
Il team di modelli e pratiche ha inserito best practice insieme a TFS, ma si applica alle build generali. Esistono 3 tipi di configurazione della soluzione, la "1 soluzione grande", un approccio partizionato che assomiglia molto a come la maggior parte delle persone usava gestire le build costruendo a sua volta e copiando gli artefatti in una directory comune (che non è stata aiutata da .NET avere un percorso "include" o "libreria" per riferimento da parte del server) e una configurazione a soluzioni multiple che è una versione più complessa di quella partizionata.
Dicono
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.
Per TFS raccomandano di ramificare qualsiasi progetto esterno all'interno del progetto, piuttosto che affidarsi alla mappatura dello spazio di lavoro che è più simile agli esterni di sovversione. Personalmente, penso che i loro consigli non siano le migliori pratiche, ma suppongo che stiano cercando di minimizzare eventuali problemi di build che si otterranno usando i riferimenti.
Ho avuto problemi con le build di .NET che provano a collegare il sistema costruendo solo ciò che è necessario, una build notturna che fa tutto e copia ogni nuovo assembly in una directory era il modo migliore per tutti di mantenere la sincronizzazione, specialmente i tester. Nota: questo si applica solo alle app .NET, quelle C ++ funzionano ancora perché non hanno assembly versionati o aspetti simili che possono causare problemi con i componenti di chiamata. Questo approccio funziona bene, ma non si può sempre presumere che le build parziali siano ok, svapare il tutto e ricostruire è più sicuro.