Juval Lowy tiene a sessione sul versioning degli assembly, con una lunga carrellata sulla GAC e sulle varie strategie di gestione della versione nei progetti.
Viene affrontato un lungo discorso sul binding delle versioni degli assembly: visto che il controllo di versione non viene fatto su quelli a cui non assegnamo uno strong name, è necessario che questi assembly siano compatibili con le versioni precedenti. Non è invece necessario per quelli che hanno uno stong name proprio perchè verrà sempre usata la versione referenziata nel progetto.
Si affronta quindi la configurazione con il .NET Configuation tool che aggiunge al file .config il tag bindingredirect per forzare l'uso dell'eventuale nuova versione del componente.
Un piccolo tip interessante per configurare più progetti nella stessa build è di usare un solo assemblyinfo.cs e poi di aggiungere ai progetti uno shortcut a questo unico file.
Viene ancora raccomandato di non mischiare versioni di CLR negli assembly di una stessa applicazione. Interessante anche il fatto che non ci sia alcuna garanzia che ogni volta che esce un nuovo CLR è indispenzabile verificare il funzionamento della vecchia applicazione sul nuovo CLR. Nnon c'è alcuna garanzia che un'applicazione che usa il framework 1.1 possa funzionare correttamente con la 2.0 anche se molto probabilmente lo farà.
Qualche parola infine sul CLR 2.0 dove gli assembly prodotti con qeusta versione non potranno essere avviati sulle versioni precedenti del CLR.