2011-06-06 62 views
3

我們正在構建存儲在裝配的API,讓我們把它MyAssembly.dll程序默認組件綁定行爲

此組件具有1.0.0.0

一個的AssemblyVersion我所期望的,釋放時程序集的新版本,以前編譯引用到1.0.0.0版本的代碼會中斷,因爲程序集綁定會失敗(沒有像bindRedirect這樣的額外幫助)。

實際上,我看到的是綁定實際上成功了。

我已經建設有各種不同版本的MyAssembly.dll程序,並嘗試運行各種代碼測試它這是引用1.0.0.0

這是默認的行爲?綁定到EXACT版本是否僅出現在強名稱(帶符號)的程序集中?

謝謝。

回答

1

How the runtime locates assemblies

「默認情況下,運行時嘗試與應用程序用這個默認的行爲可以通過配置文件設置覆蓋內置組件的確切版本綁定。」

(...)

「注:沒有版本檢查沒有強名稱的程序集,也不會在全局程序集緩存組件的運行時檢查不強的名字」

+0

優秀!有沒有關於何時將組裝件放入GAC的經驗法則? – 2011-06-06 12:37:41

+0

@liortal:幾乎沒有什麼SO沒有討論過之前:) http://stackoverflow.com/questions/2451123/when-should-i-deploy-my-assemblies-into-the-gac – 2011-06-06 12:47:15