检测到超出依赖约束的包版本:Microsoft.AspNetCore.App 2.1.1

RAM*_*TIA 4 asp.net api asp.net-core asp.net-core-webapi-2.1

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

Install-Package Microsoft.EntityFrameworkCore.SqlServer
Run Code Online (Sandbox Code Playgroud)

它引发一个错误(如下所示):

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
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗,因为我是新来的。

Tse*_*eng 5

EF Core和ASP.NET Core(曾经)一起提供。在ASP.NET Core 2.x(Microsoft.AspNetCore.App/ Microsoft.AspNetCore.Appmeta包)中,EF Core是ASP.NET Core meta包的一部分(请参阅ASP.NET Core 2.1的Microsoft.AspNetCore.App metapackage)。

有了ASP.NET Core 3.0,EntityFrameworkCore,JSON.NET和Microsoft.CodeAnalysis将不再是Microsoft.AspNetCore.App/All程序包的成员。请参阅GitHub公告

您会遇到此问题,因为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。从您的问题来看,不清楚是Install-Package Microsoft.EntityFrameworkCore.SqlServer在应用程序项目上还是在上进行的ChinookCoreAPI。如果Install-Package Microsoft.EntityFrameworkCore.SqlServer在App项目上安装最新的EF Core,则应对其进行修复。否则将版本降低ChinookCoreAPI到2.1.1