web-dev-qa-db-ja.com

依存関係の制約外で検出されたパッケージバージョン: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

私はこれが初めてなので、誰かがこれを解決するのを手伝ってくれる?.

6
RAMAN BHATIA

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に下げます

2
Tseng

ASPNET Coreの現在のバージョン(Microsoft.AspNetCore.App 2.1.1)は、EFCoreの最新バージョン(Microsoft.EntityFrameworkCore 2.2.0)をサポートしていません。

Startup.csで、EFバージョンを "Microsoft.EntityFrameworkCore.SqlServer" Version = "2.1.1"に減らして、再度復元します。

これでうまくいきました。

2
Devesh Sharma