私は私の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の Microsoft.AspNetCore.Appメタパッケージを参照)。 NET Core 2.1 )。
ASP.NET Core 3.0では、EntityFrameworkCore、JSON.NET、およびMicrosoft.CodeAnalysisはMicrosoft.AspNetCore.App/All
パッケージのパーティではなくなります。 GitHubのお知らせ をご覧ください。
ASP.NET Coreアプリケーションがまだ2.1であるときにInstall-Package Microsoft.EntityFrameworkCore.SqlServer
が最新バージョンのEF Core(2.2)をインストールしているため、この問題が発生しています。
または、アプリケーションを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に下げます
ASPNET Coreの現在のバージョン(Microsoft.AspNetCore.App 2.1.1)は、EFCoreの最新バージョン(Microsoft.EntityFrameworkCore 2.2.0)をサポートしていません。
Startup.csで、EFバージョンを "Microsoft.EntityFrameworkCore.SqlServer" Version = "2.1.1"に減らして、再度復元します。
これでうまくいきました。