2011-05-10 64 views
1

我的項目在GAC中引用了程序集的2.0.0.0版。如果版本2.0.0.0不可用,我想重定向/更改引用版本號1.0.0.0。參考具有備用版本的GAC程序集

一些研究提出了以下職位,但他們似乎沒有直接關係到我的方案:
How to provide a fallback assembly instead of the one that can't be loaded?
How to reference to multiple version assembly

我相信強名稱的程序集所需的特定版本號,所以我不認爲引用本身可以使用通配符(*)?什麼是解決我的情況的最簡單方法?

回答

0

如果需要動態加載任意程序集和類,可以使用Assembly.Load(或其中一個變體)和Assembly.CreateInstance()

你需要這樣做的原因是它允許後期綁定。在GAC中引用程序集是一種早期綁定方案,在運行時不能像這樣更改。

+0

有沒有更簡單的解決方案?這需要代碼工作,而不是配置工作。 – SFun28 2011-05-10 15:09:07

+0

不,這是你如何做到的。它實際上並不像它看起來那麼難,並且允許插件架構等各種靈活的場景。 – 2011-05-10 15:09:49

相關問題