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.
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
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.