Newtonsoft.Json文件错误
今天,在一個項目中使用signalR,由于項目框架是.net 4.0,所以用signalR1.0版本,signalR使用需要newtonsoft.Json文件,它把原 ?newtonsoft.Json文件覆蓋了,所以程序運行時出現如下錯誤:
“??未能加載文件或程序集“Newtonsoft.Json”或它的某一個依賴項。無法驗證強名稱簽名。此程序集可能已被篡改,或者已被延遲簽名,但沒有用正確的私鑰進行完全簽名。?(異常來自?HRESULT:0x80131045) ”
?
為了以防多方使用newtonsoft.json文件出現不同的版本沖突,所以該項目里對其做了處理,在web.config里,加入如下條件:
?
<runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /><bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" /></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /></dependentAssembly><dependentAssembly><assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /><bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" /></dependentAssembly></assemblyBinding></runtime>View Code
?
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>該節點表面自動將所有老版本綁定為6.0版本。
?
所以將新加載的newtonsoft.json刪掉,重新引用原6.0版本的。
?
?
但由于之前已經進行了編譯,所以運行后那個錯誤還存在,我的解決辦法就是在系統盤里找到Temporary ASP.NET Files文件,刪掉,重新編譯就OK
轉載于:https://www.cnblogs.com/beliee/p/3880526.html
總結
以上是生活随笔為你收集整理的Newtonsoft.Json文件错误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “愁苦辛勤憔悴尽”下一句是什么
- 下一篇: Web Api学习一