asp.net-core - 检测到的包版本超出依赖性约束 :Microsoft. AspNetCore.App 2.1.1

标签 asp.net-core asp.net-core-webapi

我正在尝试使用以下方法在我的 API 中安装一些软件包:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

它抛出一个错误(如下所示):

NU1608: Detected package version outside of dependency constraint: Microsoft.AspNetCore.App 2.1.1 requires Microsoft.EntityFrameworkCore.SqlServer (>= 2.1.1 && < 2.2.0) but version Microsoft.EntityFrameworkCore.SqlServer 2.2.0 was resolved.
Install-Package : NU1107: Version conflict detected for 
Microsoft.EntityFrameworkCore. Install/reference Microsoft.EntityFrameworkCore 
2.2.0 directly to project ChinookCoreAPI to resolve this issue. 
 ChinookCoreAPI -> Microsoft.EntityFrameworkCore.SqlServer 2.2.0 -> 
Microsoft.EntityFrameworkCore.Relational 2.2.0 -> 
Microsoft.EntityFrameworkCore (>= 2.2.0) 
 ChinookCoreAPI -> Microsoft.AspNetCore.App 2.1.1 -> 
Microsoft.EntityFrameworkCore (>= 2.1.1 && < 2.2.0).
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManag 
   ement.PowerShellCmdlets.InstallPackageCommand
 
Install-Package : Package restore failed. Rolling back package changes for 
'ChinookCoreAPI'.
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore.SqlServer
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManag 
   ement.PowerShellCmdlets.InstallPackageCommand

有人可以帮我解决这个问题吗?

最佳答案

EF Core 和 ASP.NET Core 过去是一起发布的。但从 ASP.NET Core 2.x(Microsoft.AspNetCore.App/Microsoft.AspNetCore.App 元包)开始,EF Core 现在是 ASP.NET 的一部分核心元包。请参阅Microsoft.AspNetCore.App metapackage for ASP.NET Core 2.1 .

然后在 ASP.NET Core 3.0 中,EntityFrameworkCore、JSON.NET 和 Microsoft.CodeAnalysis 将不再是 Microsoft.AspNetCore.App/All 包的一部分。 请参阅GitHub announcement .

您遇到此问题是因为 Install-Package Microsoft.EntityFrameworkCore.SqlServer 正在安装最新版本的 EF Core (2.2),而您的 ASP.NET Core 应用程序仍为 2.1。

一种选择是将应用程序升级到 ASP.NET Core 2.2。

<小时/>

但这里的问题似乎是 ChinookCoreAPI 需要旧版本的 ASP.NET Core(和 EF Core),即 2.1。从您的问题来看,不清楚您是否在应用程序项目或 ChinookCoreAPI 上执行了 Install-Package Microsoft.EntityFrameworkCore.SqlServer

如果它位于 Install-Package Microsoft.EntityFrameworkCore.SqlServer 上,则在应用程序项目上安装最新的 EF Core 应该可以修复该问题。否则将 ChinookCoreAPI 版本降低到 2.1.1

关于asp.net-core - 检测到的包版本超出依赖性约束 :Microsoft. AspNetCore.App 2.1.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53792122/

相关文章:

asp.net-core - .NET Core-通过自定义权限筛选数据

c# - IDX10603 : The algorithm: 'HS256' requires the SecurityKey. KeySize 大于 '128' 位。 KeySize 报告 : '32' . 参数名称 : key. KeySize

c# - 将数据传递到链下游的中间件

c# - 通过 Entity Framework 和 JSON (C#) 动态更新某些属性

c# - Request.Headers ["Referer"]不存在

c# - 更改模型中 OnPost 中的绑定(bind)属性无效

c# - ASP.NET Web API 自定义发布操作不起作用

c# - 基于 .Net Core 中的 appSettings 使用 Cors

jwt - 如何在 .NET Core Web API 中获取当前用户(来自 JWT token )

c# - Asp.Net Core Web API 2.2 Controller 不返回完整的 JSON