【问题标题】:How to Use EF Core 2.2.4 Data Library With Asp.Net Core 2.1 Project如何在 Asp.Net Core 2.1 项目中使用 EF Core 2.2.4 数据库
【发布时间】:2019-10-07 19:12:00
【问题描述】:

我正在尝试使用 Asp.Net Core 2.1 创建一个新的 Restful web api,并且我想使用共享数据库来访问底层数据。数据库使用Entity Framework Core 2.2.4和Entity Framework 6.1

还有其他应用程序引用了这个数据库,让 web api 也引用同一个项目会很有好处。

只要我添加任何引用 dbContext 的代码,我就会在尝试编译 Web api 时收到以下错误:

具有标识“数据”的程序集“数据”使用“Microsoft.EntityFrameworkCore,版本=2.2.4.0”,其版本高于标识为“Microsoft.EntityFrameworkCore,版本=2.1.1.0,文化=”的引用程序集“Microsoft.EntityFrameworkCore”中立,PublicKeyToken=adb9793829ddae60'

我正在尝试做的事情是否可能,如果可以,请您指出正确的方向

【问题讨论】:

  • 您是否尝试将 Web Api 中的 EF Core 参考更新到 2.2.4.0?
  • @TonyAbrams 据我所知,对 EF Core 的引用在 Asp.net Core 2.1 Nuget 包中。当我尝试将 EF Core 2.2.4 包安装到项目中时,它给出了这个错误:检测到超出依赖约束的包版本:Microsoft.AspNetCore.App 2.1.1 需要 Microsoft.EntityFrameworkCore (>= 2.1.1 &&
  • 我猜这来自 AspNetCore.All 包。您可以删除它并仅添加您需要的包。
  • @Rabban 它包含在 Microsoft.AspNetCore.App 包中,卸载按钮显示为灰色,我无法选择其他版本进行安装

标签: c# asp.net-core entity-framework-core


【解决方案1】:

EF Core 版本与您使用的 ASP.NET Core 版本紧密耦合。基本上:EF Core 2.2.x 仅适用于 ASP.NET Core 2.2.x。您需要将 TargetFramework 更新为 netcoreapp2.2 以使其正常工作。

此外,引用 ASP.NET Core(在 .NET Core 2.x 项目中)的推荐方法是不包含特定版本:

<PackageReference Include="Microsoft.AspNetCore.App" />

代替

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />

【讨论】:

    猜你喜欢
    • 2020-12-13
    • 2019-03-16
    • 2019-04-12
    • 2018-12-05
    • 2021-11-30
    • 2021-07-25
    • 1970-01-01
    • 2020-08-21
    • 2021-01-06
    相关资源
    最近更新 更多