web-dev-qa-db-fra.com

Version de package détectée en dehors de la contrainte de dépendance: Microsoft.AspNetCore.App 2.1.1

J'essaie d'installer certains packages dans mon API en utilisant:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Il lance une erreur (donnée ci-dessous):

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

Quelqu'un peut-il m'aider à résoudre ce problème, car je suis nouveau dans ce domaine.

6
RAMAN BHATIA

EF Core et ASP.NET Core (étaient) utilisés pour être expédiés ensemble. Dans ASP.NET Core 2.x (Microsoft.AspNetCore.App/Microsoft.AspNetCore.App méta packages), EF Core fait partie des méta packages ASP.NET Core (voir métapaquet Microsoft.AspNetCore.App pour ASP.NET Core 2.1 ).

Avec ASP.NET Core 3.0, EntityFrameworkCore, JSON.NET et Microsoft.CodeAnalysis ne feront pas partie de Microsoft.AspNetCore.App/All packages plus. Voir annonce GitHub .

Vous obtenez ce problème, car Install-Package Microsoft.EntityFrameworkCore.SqlServer installe la dernière version d'EF Core (2.2) alors que votre application ASP.NET Core est toujours à 2.1.

Ou mettez à niveau votre application vers ASP.NET Core 2.2.

Mais le problème ici semble que ChinookCoreAPI nécessite l'ancienne version d'ASP.NET Core (et EF Core), à ​​savoir 2.1. D'après votre question, il n'est pas clair si vous avez fait le Install-Package Microsoft.EntityFrameworkCore.SqlServer sur votre projet d'application ou sur ChinookCoreAPI. Si c'est le Install-Package Microsoft.EntityFrameworkCore.SqlServer l'installation du plus récent EF Core sur le projet App devrait le corriger. Sinon, baissez la version de ChinookCoreAPI à 2.1.1

2
Tseng

Votre version actuelle d'ASPNET Core (Microsoft.AspNetCore.App 2.1.1) ne prend pas en charge la dernière version d'EFCore (Microsoft.EntityFrameworkCore 2.2.0).

Dans Startup.cs, diminuez la version EF, en tant que "Microsoft.EntityFrameworkCore.SqlServer" Version = "2.1.1" et restaurez à nouveau.

Cela a fonctionné pour moi.

2
Devesh Sharma