在調用金蝶雲星空的時候,引用的其C# SDK,但是他使用的是低版本的Newtonsoft,本來想要反編譯,然後引用新的版本。後來問了群裡的朋友,其實有一個簡單的辦法。
未能加載檔案或程式集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一個依賴項。找到的程式集清單定義與程式集引用不比對。 (異常來自 HRESULT:0x80131040)的錯誤解決方案
System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
複制
那就是在Web.config(WebApplicaiton/WebAPI)下或者App.config(Winform)下的runtime節點增加以下代碼。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
複制
這個方法可以解決所有的引用DLL中的第三方DLL的版本問題。