我們爲一個爲.NET 3.5構建的軟件創建了一個插件。在這個插件中,我們引用了適用於.NET 3.5的第三方.DLL。主要的軟件現在已經構建到.NET 4.0和第三方.DLL已經被分成兩個.DLL。程序集解析
我們想要避免的是有兩個獨立的解決方案,幾乎完全相同的代碼(一個構建到.NET 4.0引用4.0 DLL,一個構建到3.5引用3.5 DLL)。並非我們所有的客戶都會升級到我們立即創建插件的最新版軟件,有些人可能會等上幾年。
問題EDITED:
有什麼辦法繼續建立以.NET 3.5引用3.5 DLL,然後在運行時執行一些裝配決心加載兩個.NET 4.0的DLL的地方原來的一個?
我們希望/需要繼續構建到3.5框架,以便主要軟件的以前版本將繼續加載我們的插件。如果我們構建到4.0,那麼當嘗試加載我們的插件時,舊版本會產生錯誤,因爲它的構建到了後面的框架。
您是否真的嘗試過這種方法?還是隻是猜測可能存在問題?如果你這樣做了,那麼*正確*是錯誤信息? – 2012-04-02 17:26:00
當我嘗試使用舊版本的軟件加載4.0插件時,出現以下錯誤: 無法加載程序集。錯誤詳細信息:System.BadImageFormatException:不能 加載文件或程序集file:/// C:\ Users \ ******* \ Documents \ Visual Studio 2010 \ Projects \ RandomProjects \ A2013Testing \ bin \ Debug \ A2013Testing.dll'或它的一個依賴關係。該程序集由比當前加載的運行時更新的 運行時構建,無法加載。 在System.Reflection文件名:'file:/// C:\ Users \ ******* \ Documents \ Visual Studio 2010 \ Projects \ RandomProjects \ A2013Testing \ bin \ Debug \ A2013Testing.dll' 。 – 2012-04-02 17:51:06