无法加载文件或程序集'Newtonsoft.Json,Version = 4.5.0.0

无法加载文件或程序集'Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'

我收到了错误

System.IO.FileLoadException:无法加载文件或程序集“Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(HRESULT异常:0x80131040)

我的CI构建

我试过的解决方案

<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>

它也没用


红颜莎娜
浏览 3439回答 3
3回答

千万里不及你

对于遇到Newtonsoft.Json v4.5版本问题的每个人,请尝试在web.config或app.config中使用它:<runtime> &nbsp;&nbsp;&nbsp;&nbsp;<assemblyBinding&nbsp;xmlns="urn:schemas-microsoft-com:asm.v1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<dependentAssembly> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<assemblyIdentity&nbsp;name="Newtonsoft.Json" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;publicKeyToken="30AD4FE6B2A6AEED"&nbsp;culture="neutral"/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<bindingRedirect&nbsp;oldVersion="0.0.0.0-6.0.0.0"&nbsp;newVersion="6.0.0.0"/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</dependentAssembly> &nbsp;&nbsp;&nbsp;&nbsp;</assemblyBinding></runtime>重要信息:检查configuration配置文件的标记是否没有命名空间属性。否则,assemblyBinding标签将被忽略。

Helenr

关键是在配置文件中引用正确的版本。脚步;1-查看项目引用属性中Newtonsoft.Json.dll的版本,包文件夹中的版本是什么(例如我的版本是7.0.1,参考版本是7.0.0.0)2-看看项目在异常中对你的期望(我的是6.0.0.0)3-将依赖程序集添加到配置文件中,因为它应该是..&nbsp;&nbsp;<dependentAssembly> &nbsp;&nbsp;&nbsp;&nbsp;<assemblyIdentity&nbsp;name="Newtonsoft.Json"&nbsp;&nbsp;publicKeyToken="30AD4FE6B2A6AEED"&nbsp;culture="neutral"/> &nbsp;&nbsp;&nbsp;&nbsp;<bindingRedirect&nbsp;oldVersion="0.0.0.0-6.0.0.0"&nbsp;newVersion="7.0.0.0"/> &nbsp;&nbsp;</dependentAssembly>
打开App,查看更多内容
随时随地看视频慕课网APP