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

2024-03-12

我在我的项目中使用 BreezeApi NuGet 包。它位于 Visual Studio 2013 中。

我收到这个错误。

错误 41 程序集“Breeze.WebApi2,Version=1.4.0.0,Culture=neutral,PublicKeyToken=f6085f1a45e2ac59”使用“System.Web.Http,Version=5.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”,其版本高于引用程序集'System.Web.Http,版本= 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" />
    </dependentAssembly>
    

我该如何解决这个问题?


这就是我为解决与您的问题非常相似的问题所做的:

错误 2 程序集“Breeze.WebApi2,版本=1.4.0.0,文化=中性, PublicKeyToken=f6085f1a45e2ac59'使用'System.Web.Http, 版本=5.1.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35' 它的版本高于引用的程序集“System.Web.Http”, 版本=5.0.0.0,文化=中立, PublicKeyToken=31bf3856ad364e35' c:\Repos\SPACodeCamper\packages\Breeze.Server.WebApi2.1.4.12\lib\Breeze.WebApi2.dll CC.Web

我在学习课程时遇到此错误使用 Angular 和 Breeze 构建应用程序 - 第 1 部分 http://pluralsight.com/training/Courses/TableOfContents/build-apps-angular-breeze约翰·帕帕着。添加后,它发生在步骤 3.15BreezeCC.Web 的 Web API 控制器。

为了解决这个问题,我们需要更新以下 NuGet 包。我在 Visual Studio 2013 中使用 NuGet 包管理器:

  1. Microsoft.AspNet.WebApi.Client 从 5.0.0 到 5.1.2
  2. Microsoft.AspNet.WebApi.Core 从 5.0.0 到 5.1.2
  3. Microsoft.AspNet.WebApi.WebHost 从 5.0.0 到 5.1.2
  4. Microsoft.AspNet.WebApi.OData从5.0.0到5.1.2(这个我必须重新启动Visual Studio才能完成安装)

更新上面的 NuGet 包将解决碰撞问题System.Web.Http在本例中,将 的版本更改为正确的版本5.1.0.0.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无论我如何尝试,System.Web.Http 引用默认为 4.0 版本 的相关文章

随机推荐