檢測到依賴約束之外的包版本:Microsoft.AspNetCore.App 2.1.1
我正在嘗試使用以下方法在我的 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 Core 元包的一部分。請參閱ASP.NET Core 2.1 的 Microsoft.AspNetCore.App 元包。然後在 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.SqlServerApp 項目上安裝最新的 EF Core 應該修復它。否則將版本降低ChinookCoreAPI到 2.1.1