我正在尝试使用以下方法在我的 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/