检测到依赖项约束之外的程序包版本:Microsoft.AspNetCore.App 2.1.1
我正在尝试使用以下方法在我的API中安装一些软件包:
I am trying to install some packages in my API using :
Install-Package Microsoft.EntityFrameworkCore.SqlServer
它抛出一个错误(如下所示):
It throws an Error (Given below ) :
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
由于我是新来的,有人可以帮我解决这个问题吗?
Can Someone help me solve this as I am new to this.
(一起)使用了EF Core和ASP.NET Core.在ASP.NET Core 2.x(Microsoft.AspNetCore.App
/Microsoft.AspNetCore.App
元软件包)中,EF Core是ASP.NET Core元软件包的一部分(请参阅
EF Core and ASP.NET Core (were) used to ship together. In ASP.NET Core 2.x (Microsoft.AspNetCore.App
/Microsoft.AspNetCore.App
meta packages), EF Core is part of ASP.NET Core meta packages (see 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公告.
With ASP.NET Core 3.0, EntityFrameworkCore, JSON.NET and Microsoft.CodeAnalysis won't be party of Microsoft.AspNetCore.App/All
packages anymore. See the GitHub announcement.
您会遇到此问题,因为Install-Package Microsoft.EntityFrameworkCore.SqlServer
正在安装最新版本的EF Core(2.2),而ASP.NET Core应用程序仍为2.1.
You are getting this issue, because Install-Package Microsoft.EntityFrameworkCore.SqlServer
is installing the latest version of EF Core (2.2) while your ASP.NET Core application is still at 2.1.
或将您的应用程序升级到ASP.NET Core 2.2.
Or upgrade your application to 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,则应在App项目上进行修复.否则将ChinookCoreAPI
的版本降低到2.1.1
But the issue here seems that ChinookCoreAPI
requires the older version of ASP.NET Core (and EF Core), namely 2.1. From your question its not clear if you did the Install-Package Microsoft.EntityFrameworkCore.SqlServer
on your application project or on ChinookCoreAPI
. If its on Install-Package Microsoft.EntityFrameworkCore.SqlServer
installing the newest EF Core on the App project should fix it. Otherwise lower the verison of ChinookCoreAPI
to 2.1.1