應該把組件設計成共用組件嗎?看看 Chris Sells 怎麼說...

摘要:應該把組件設計成共用組件嗎?看看 Chris Sells 怎麼說...

.NET 的出現解決了 DLL hell 的問題,因為共用組件安裝至 GAC 時,會根據不同的版本存放到不同的目錄,而且組件可以 side-by-side 執行(相同組件的不同版本可以同時載入 .NET runtime),因此部署新版本的組件到用戶端時,不會破壞其他的應用程式。

Chris Sells 對 GAC 有些不同的看法,雖然是去年的文章,仍值得一看:
http://www.sellsbrothers.com/spout/#Avoid_the_GAC

同樣也是去年的文章,The Future of Assembly Versioning 亦點出了目前 .NET framework 在解決版本問題方面仍有改善的空間,雖然解決了 DLL hell,卻衍生出 policy hell(利用自訂版本原則來指定應用程式要改用哪個版本的組件),這篇文章也介紹了未來 .NET framework 對於版本問題所提出的新架構。