web-dev-qa-db-fra.com

Impossible d'utiliser 'dotnet ef ...' - La version du framework spécifiée '2.0' n'a pas pu être analysée

Mon projet est construit sans problème et peut fonctionner sans problème, mais je ne peux pas utiliser dotnet ef migrations à cause de cette erreur étrange:

The specified framework version '2.0' could not be parsed
The specified framework 'Microsoft.NETCore.App', version '2.0' was not found.
  - Check application dependencies and target a framework version installed at:
      /
  - Alternatively, install the framework version '2.0'.

J'ai le dernier outil dotnet installé - SDK 2.1.4 et runtime 2.0.5.

Quelqu'un peut-il aider avec ça? J'essayais de trouver des solutions sur le Web, mais rien ne fonctionnait.

16
M U

J'ai finalement trouvé la réponse après avoir parcouru quelques problèmes sur GitHub.

Il semble que ce soit un problème avec la CLI dotnet elle-même, pas avec le noyau EF.

Si vous rencontrez ce problème, veuillez mettre à jour votre fichier .csproj afin d'inclure la version de la structure d'exécution: (Au moment de la rédaction de ce message, j'ai installé 2.0.5, mais vérifiez quelle version vous avez et utilisez la version correcte que vous avez sur votre machine .

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <RuntimeFrameworkVersion>2.0.5</RuntimeFrameworkVersion>
  </PropertyGroup>

Cela résout le problème correctement. Pour moi, il semble que sans la version spécifiée dans le fichier csproj, la CLI de dotnet tente de revenir à la version 2.0.0, que la plupart d’entre nous n’avons pas sur les ordinateurs à cause des mises à jour.

24
M U

Il peut aussi y avoir un autre problème. S'il vous manque le package Microsoft.EntityFrameworkCore.Design NuGet, vous obtiendrez la même erreur. Assurez-vous donc que ce package NuGet est référencé à partir du projet où vous souhaitez exécuter les migrations.

5
Marius Stănescu

L'ajout de ceci dans le fichier .csproj l'a résolu pour moi, en suivant ce fil sur Github :

<PropertyGroup>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
1
Narvalex