System.Net.Http.Formatting.dll引发Newtonsoft.Json的问题。

16 浏览
0 Comments

System.Net.Http.Formatting.dll引发Newtonsoft.Json的问题。

我的Windows服务与一个MVC项目在同一个解决方案中。

该MVC项目使用了对SignalR Client的引用,需要Newtonsoft.Json v6+。

而Windows服务使用了System.Net.Http.Formatting,需要Newtonsoft.Json版本为4.5.0.0。

我认为这不会是个问题,因为我可以在我的App.Config中使用绑定重定向,然而我得到了以下错误:

一个未处理的类型为'System.IO.FileLoadException'的异常在System.Net.Http.Formatting.dll中发生。

额外信息:无法加载文件或程序集'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'或其某个依赖项。已找到的程序集清单定义与程序集引用不匹配。(HRESULT异常:0x80131040)

我的app.config配置如下:


    
    

我自己添加了这个配置,但它并不起作用,我还尝试过使用NuGet包管理器卸载和重新安装Json.Net,但没有成功。

0
0 Comments

(System.Net.Http.Formatting.dll causing issues with Newtonsoft.Json)这个问题的出现原因是因为缺少xmlns schema。解决方法是在assemblyBinding标签中添加正确的xmlns schema。

具体的解决方法如下:

1. 在项目的配置文件中找到assemblyBinding标签。

2. 检查是否缺少xmlns schema。可以参考这个链接中的例子。

3. 如果缺少xmlns schema,将其添加到assemblyBinding标签中。

4. 保存配置文件并重新编译项目。

通过以上步骤,可以解决(System.Net.Http.Formatting.dll causing issues with Newtonsoft.Json)这个问题。

0
0 Comments

问题出现的原因是,尽管我创建的类库引用了System.Net.Http.FormattingNewtonsoft.Json,但只有前者被复制到需要它的调用项目的bin目录中。

解决方法是,在主要调用项目中添加对Newtonsoft.Json的引用。

0
0 Comments

我们遇到了相同的错误,并为此问题苦苦挣扎了几天。最后我们在stackoverflow上找到了这篇帖子Assembly reference cannot be resolved - dependentAssembly issue?

这让我们意识到需要查看正在使用的System.Net.Http.Formatting的版本,我们发现我们的解决方案一直在使用多个版本的System.Net.Http.Formatting.dll,而每个版本都引用了不同版本的Newtonsoft.Json.dll

移除旧版本System.Net.Http.Formatting的引用并重新添加引用,问题得到了解决。

希望这能帮到你。

我不得不删除NuGet包以及它依赖的包,从我的网站的Bin目录中删除Newtonsoft DLL,并从web.config底部删除程序集信息。然后我安装了depending的NuGet包,它引入了它喜欢的Newtonsoft版本。然后一切正常工作了。

0