加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – System.Web.Http引用默认为4.0版本,无论我如何尝试

发布时间:2020-12-15 04:26:42 所属栏目:百科 来源:网络整理
导读:我在我的项目中使用BreezeApi nuget包.它在视觉工作室2013. 我得到这个错误. Error 41 Assembly ‘Breeze.WebApi2,Version=1.4.0.0,Culture=neutral,PublicKeyToken=f6085f1a45e2ac59’ uses ‘System.Web.Http,Version=5.0.0.0,PublicKeyToken=31bf3856ad36
我在我的项目中使用BreezeApi nuget包.它在视觉工作室2013.

我得到这个错误.

Error 41 Assembly ‘Breeze.WebApi2,Version=1.4.0.0,Culture=neutral,PublicKeyToken=f6085f1a45e2ac59’ uses ‘System.Web.Http,Version=5.0.0.0,PublicKeyToken=31bf3856ad364e35’ which has a higher version than referenced assembly ‘System.Web.Http,Version=4.0.0.0,PublicKeyToken=31bf3856ad364e35’

我不知道为什么我的项目不断参考4.0版本.
我试过的东西

1)我从我的项目中删除system.web.http 4.0的引用,并浏览到5.0 dll位置.一旦我添加并回到解决方案资源管理器,右键单击system.web.http dll,它显示4.0.0.0

2)我在web.config中添加了装配绑定,如下所示

<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.1.0.0" newVersion="5.1.0.0" />

有人可以帮我解决吗?谢谢

解决方法

这是我解决一个非常类似于你的问题:

Error 2 Assembly ‘Breeze.WebApi2,
PublicKeyToken=f6085f1a45e2ac59’ uses ‘System.Web.Http,
Version=5.1.0.0,PublicKeyToken=31bf3856ad364e35’
which has a higher version than referenced assembly ‘System.Web.Http,
Version=5.0.0.0,
PublicKeyToken=31bf3856ad364e35’ c:ReposSPACodeCamperpackagesBreeze.Server.WebApi2.1.4.12libBreeze.WebApi2.dll CC.Web

在John Papa进行课程Building Apps with Angular and Breeze – Part 1时,我收到了这个错误.在将Breeze Web API控制器添加到CC.Web后,在步骤3.15发生.

要解决它,我们需要更新以下NuGet软件包.我在Visual Studio 2013中使用了NuGet软件包管理器:

> Microsoft.AspNet.WebApi.Client从5.0.0到5.1.2
> Microsoft.AspNet.WebApi.Core从5.0.0到5.1.2
> Microsoft.AspNet.WebApi.WebHost从5.0.0到5.1.2
> Microsoft.AspNet.WebApi.OData从5.0.0到5.1.2(这一个我不得不重新启动Visual Studio来完成安装)

以上更新NuGet软件包将会将System.Web.Http的版本与正确的版本相关,在这种情况下为5.1.0.0.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读