我試圖通過引用它的強名稱加載一個使用Assembly.Load()
作爲.Net 3.5 SP1的一部分安裝的程序集。這在我的計算機上正常工作,但它是未來的證明?新版本的.NET發佈時,程序集強名稱是否會更改?
安裝補丁程序或新版本的.Net框架發佈後,核心.Net程序集的強名稱是否會發生變化?
編輯:如果.Net 5.0包含大量重寫的System.Data,我現在使用的強名稱是否會在該平臺上打破我的應用程序?
我試圖通過引用它的強名稱加載一個使用Assembly.Load()
作爲.Net 3.5 SP1的一部分安裝的程序集。這在我的計算機上正常工作,但它是未來的證明?新版本的.NET發佈時,程序集強名稱是否會更改?
安裝補丁程序或新版本的.Net框架發佈後,核心.Net程序集的強名稱是否會發生變化?
編輯:如果.Net 5.0包含大量重寫的System.Data,我現在使用的強名稱是否會在該平臺上打破我的應用程序?
修補程序(如Service Pack)不會更改程序集的強名稱。這將是一個包含在Service Pack中的重大改變。
強名稱會在主要版本的框架之間發生變化,因爲版本號包含在強名稱中。
但只有在重新編譯後。 – 2010-06-17 21:56:14
強名稱不會改變,除非重新編譯。
不,這不是真的,重新編譯不會更改名稱,除非更改程序集版本,程序集名稱或鍵。 – 2010-06-17 21:52:02
@ 0xA3,是的 - 我的意思是如果重新編譯和某些更改,如框架版本。 – 2010-06-17 21:57:17
解決此問題的方法是使用部分指定名稱,並使用部分限定名稱,並在.config文件中完全限定它們。 http://msdn.microsoft.com/en-us/library/fb1c06s6(VS.85).aspx – codekaizen 2010-06-17 22:05:52