2012-11-08 14 views
1

我已經依賴於某些共享組件一些應用程序。我將這些共享程序集移到應用程序本地目錄以外的共享目錄。我的目標是每次發佈新版本的共享程序集時,我只需將新版本放入共享目錄中,而不必在我的應用程序中更改任何內容。我認爲assemblyResolve事件是一個很好的解決方案。在處理程序的工作方式上,我有一個具體的問題要問。確實.NET assemblyResolve事件處理函數中執行版本驗證

假設我重視這個處理程序從一個共享目錄解決缺少組件。我只使用程序集名稱在目錄中查找相應的dll,並使用Assembly.LoadFrom(dllpath)加載它。

我的應用程序引用程序集:名稱:A,版本:1.0,publickey:... 程序集升級到版本:2.0 我將新程序集放在共享目錄中。

應用程序是否正確地拿起新的版本?在裝配新程序集並從處理程序返回後,C#會執行任何匹配嗎?

從我的測試中,它工作正常。 .NET在註冊從處理程序返回的程序集時忽略版本。我只是想確保我沒有錯,也沒有告誡

感謝

回答

2

它在MSDN article明確提到:

事件處理程序可以返回一個不同版本的程序集比所請求的版本。

+0

感謝您的信息。 – user236215

相關問題