未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.IO.FileLoadException: 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
源错误:
|
源文件: F:\Work\ServerWebSite\Global.asax.cs 行: 18
程序集加载跟踪: 下列信息有助于确定程序集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”未能加载的原因。
再像一个站点添加web api 的注册时,添加完成编译没有问题,但是运行的话就包以上的错误,找不到Newtonsoft.Json 4.5.0的版本,查找项目中应用的版本都是正常的,我引用的是最新的13.0.1的版本,单问题就出现在这,系统内部默认的版本是4.5.0,所以运行的时候就报错了。
如何来解决这个问题,这时间我们需要在web.config文件中指定运行时的版本是什么。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
</configSections>
<appSettings>
</appSettings>
<connectionStrings>
</connectionStrings>
<!-- 关键配置 -->
<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" /><!-- 这里根据你自己应用版本的情况改成你自己的版本即可。我用的是13.0.0.1的版本 -->
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
在尝试运行Web应用程序时遇到了一个错误,即无法加载'Newtonsoft.Json, Version=4.5.0.0'的程序集。尽管项目中引用的是最新版本13.0.1,但系统默认版本为4.5.0,导致版本不匹配的异常。为解决此问题,可以在web.config文件中添加runtime配置,进行assemblyBinding的bindingRedirect,将旧版本指向新版本(例如:'0.0.0.0-13.0.0.0'到'13.0.0.0'),从而确保运行时使用正确的版本。"
77341538,5624034,前端数据采集:利用navigator.sendBeacon避免请求丢失,"['前端开发', '数据采集', 'sendBeacon', '页面卸载', '请求丢失']

4730

被折叠的 条评论
为什么被折叠?



