组装& # 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>
我还应该做些什么来解决这个问题?谢谢。
我在使用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,而不是回到主机/机器配置(不包括重新绑定指令)