6.3.0 était la première version d'Entity Framework 6 à cibler la norme .NET ; elle cible la norme .NET. 2.1 en même temps que .NET 4.0 et .NET 4.5, comme on peut le voir dans sa liste Nuget . 6.2.0 ne visait que .NET.
Notez que la norme .NET 2.0 est encore pas une cible valable.
En fonction de votre scénario, vous puede Vous pouvez vous en sortir en ciblant plusieurs fois votre bibliothèque sur .NET (dans mon exemple ci-dessous, .NET 4.7.2) et .NET Standard 2.1 :
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net472;netstandard2.1</TargetFrameworks>
</PropertyGroup>
</Project>
La viabilité de cette solution dépend de deux facteurs :
-
Vos autres références. La combinaison que je propose ci-dessus conviendra dans la plupart des cas, car .NET 4.7.2 et .NET Standard 2.1 peuvent faire référence aux paquets .NET Standard 2.0, qui couvrent la plupart des paquets modernes, mais pas tous.
-
Les frameworks à partir desquels vous souhaitez consommer votre bibliothèque. La cible .NET signifie, bien entendu, que la bibliothèque peut être utilisée par des projets .NET Framework de la même version ou d'une version supérieure. La cible .NET Standard 2.1 permet à la bibliothèque d'être consommée par des projets ciblant .NET Standard 2.1, .NET Core 3.0, Mono 6.4 et plus, ainsi que les dernières versions de Xamarin. Les versions de .NET Core antérieures à la version 3.0 constituent une omission notable. EF6 est pas disponible pour .NET Core 1 ou 2. Voir la norme .NET Prise en charge de la mise en œuvre de .NET pour la liste complète.
* J'ai utilisé .NET 4.7.2 pour mon illustration car, bien que .NET 4.6.1 prenne officiellement en charge la norme .NET 2.0, Microsoft recommande d'utiliser 4.7.2 ou une version plus récente. Voir <a href="https://stackoverflow.com/a/57024056/397817">ma réponse ici </a>pour plus d'informations.