J'ai créé une application web .net core 2.0. J'ai ajouté Entity Framework 6.2.0 en utilisant NUGET, puis j'obtiens cette erreur
Le package 'EntityFramework 6.2.0' a été restauré à l'aide de '.NETFramework, Version = v4.6.1' au lieu du cadre cible du projet '.NETCoreApp, Version = v2.0'. Ce paquet peut ne pas être entièrement compatible avec votre projet.
Comment puis-je réparer ça?
Le problème est que votre version d'entité est confondue avec .NetFramework
et .NetCore
. Le cadre cible de votre application est Asp.Net Core
. Donc, vous devriez installer le paquetage en rapport avec Asp.net Core
Dans ton cas 'EntityFramework 6.2.0'
est soutenu par .NETFramework,Version=v4.6.1'
pas par '.NETCoreApp,Version=v2.0'
. Utilisez donc la version ci-dessous du framework d’entité au lieu du vôtre.
PM> Install-Package Microsoft.EntityFrameworkCore -Version 2.0.1
Sinon, vous pouvez changer votre cadre cible en net461 comme ci-dessous.
<TargetFramework>net461</TargetFramework>
En changeant votre cadre cible en net461, vous pouvez utiliser des cadres centraux et complets .net. Je pense que pour cette période, cette approche est meilleure. Parce qu'EF Core n'a toujours pas certaines fonctionnalités principales telles que relation entre plusieurs personnes et quelques autres. Bien sûr, cela dépend de vos besoins et de vos attentes d’un outil ORM.
Dans mon cas, mon projet était Core 2.2. J'ai d'abord installé (NuGet) Microsoft.EntityFrameworkCore v2.2.4 et tout est bien construit. Ensuite, j'ai accidentellement installé Microsoft.AspNet.Identity plutôt que Microsoft.AspNetCore.Idendity (v2.2.0). Une fois que mes yeux ont repéré le "noyau" manquant dans le paquet .Identity et que je l'ai corrigé en désinstallant le mauvais et en installant le bon, les avertissements ont disparu. Je suppose que je ne suis pas le seul à être allé un peu vite sur les installations de Nuget sur un nouveau projet :)
J'ai eu le même problème, et a été introduit en modifiant ma solution pour utiliser un nouveau TargetFramework.
<TargetFramework>netcoreapp2.2</TargetFramework>
Après la mise à jour, j'ai essayé d'ajouter Identity Framework mais j'ai échoué avec l'avertissement décrit.
En ajoutant les paquets dans cette séquence, cela a résolu le problème:
Microsoft.EntityFrameworkCore
Microsoft.AspNetCore.Identity
Changez votre projet en .NETFramework,Version=v4.6.1
ou choisissez un nuget Entity Framework prenant en charge .NETCoreApp,Version=v2.0