【发布时间】:2017-03-05 12:05:33
【问题描述】:
我在重建项目时遇到以下错误。
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
我已经在 VS 2013 中使用 Manage NuGet Packages 卸载并安装了最新版本的 Newtonsoft.Json (9.0.1)。为什么它仍然引用版本 6.0.0.0(或者是 4.5.0.0)?
我的 web.config 显示如下:
<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>
我还应该做些什么来解决这个问题?谢谢。
【问题讨论】:
-
也更改参考
-
你使用的是web api和owin吗?
-
尝试在
部分手动将 newVersion="4.5.0.0" 版本更改为您安装的新版本,看看这是否有效 -
@viveknuna - 我去了参考>添加参考>浏览>选择Newtonsoft.Json.dll>添加,但似乎什么都没有添加,我在程序集或任何列表下看不到它最近添加的程序集。
-
@MarcusH 是的,我正在使用 web api 和 owin。我卸载并再次安装它们只是为了确保我使用的是最新版本。