组装& # 39;包含.Http . . & # 39;使用& # 39;Newtonsoft.Json版本= 6.0.

本文关键字:版本 Json Http 包含 组装 使用 Newtonsoft | 更新日期: 2023-09-27 18:14:23

当我重建我的项目时,我得到以下错误:

Assembly 'System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' uses 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' which has a higher version than referenced assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'    D:'Development'MyProject'bin'System.Web.Http.dll

我已经卸载并安装了最新版本的Newtonsoft。在VS 2013中使用管理NuGet包。为什么它仍然引用版本6.0.0.0(或4.5.0.0)?

我的网页。配置显示如下:

<dependentAssembly>
   <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
   <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0"/>
</dependentAssembly>

我还应该做些什么来解决这个问题?谢谢。

组装& # 39;包含.Http . . & # 39;使用& # 39;Newtonsoft.Json版本= 6.0.

我在使用newtonsoft时遇到了类似的问题。microsoft . asp.net . webapi . owin和Microsoft.Owin.Security.OAuth包一起安装后引用。我通过在nuget包管理器

中运行以下命令解决了这个问题

首先,卸载newtonsoft。json

uninstall-package Newtonsoft.Json -Force

然后安装最新的newtonsoft.json

install-package Newtonsoft.Json

最后,更新自己的OAuth,它似乎引用了旧的newtonsoft。json版本

update-package Microsoft.Owin.Security.OAuth

在此之后,构建项目,它应该编译…至少我做了:)

我通过进入web来解决这个问题。配置和修改:

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
</dependentAssembly>

:

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>

我不确定为什么"newVersion"应该是9.0.0.0,而我的Newtonsoft。Json的版本是9.0.1,但是不能用后者编译。

有趣的是,当我后来在包管理器控制台输入以下内容时:
Update-Package Newtonsoft.Json -Version 9.0.1

我可以将"oldVersion"answers"newVersion"更改为任何东西,这对编译没有影响。

非常感谢Rajput, Marcus H和Vivek Nuna的帮助。

我不知道你是否还需要这个。更新牛顿之后。Json在我的项目,你的错误发生。我发现了这个线程,并遵循所有的回答指令,但没有运气。但是当我移除了牛顿。Json从参考,然后添加我的新版本的Newton.Json.dll到参考,它工作!

删除引用

我刚刚遇到这个问题,花了很多时间来修复它。

我意识到我的API的发布阶段并没有发布web。在API的根目录下配置,但是在bin目录下。

移动网页。配置到根目录修复了这个问题,因为IIS可以正确地设置API,而不是回到主机/机器配置(不包括重新绑定指令)