web-dev-qa-db-fra.com

Le terme 'Add-migration' n'est pas reconnu - VS2017 et EntityFrameworkCore

Je poste cette question au cas où la solution que j’aurais trouvée aiderait quelqu'un d’autre. En travaillant dans Visual Studio 2017 rc4 à chaque fois que j'ai essayé d'exécuter la commande Add-Migration dans la console du gestionnaire de packages, l'erreur suivante apparaît:

Le terme 'Add-migration' n'est pas reconnu ...

22
Ask

Vous devez simplement initialiser le module powershell. Je crois que c'est un bug, mais c'est assez facile de contourner le problème. Tout ce que vous avez à faire est de trouver le fichier init.ps1 et de le source source.

Tapez simplement ceci dans la console du gestionnaire de paquets:

C:\Utilisateurs\YourUserAccount\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.1.0-preview4-final\tools\init.ps1

Maintenant, la version peut être différente pour vous, en fonction de celle que vous avez installée. Assurez-vous que la source utilise la même version que celle de votre projet.

29
Patrick Mcvay

La solution qui a fonctionné pour moi après avoir essayé de nombreuses solutions postées consistait à cliquer avec le bouton droit de la souris sur mon projet => sélectionner "Gérer les paquets Nuget" => sélectionner l'onglet de navigation, mais cocher la case "Inclure la pré-version" et installer le 'Microsoft.EntityFrameworkCore.Tools' . Notez que le projet aspnetcore dans Visual Studio 2017 ne semble pas avoir le fichier 'project.json'.

20
Ask

Salut

C'est presque un problème normal chez Microsoft, et ils soulignent la même solution:

Microsoft Docs - Initiation à EF Core sur ASP.NET Core avec une nouvelle base de données

Pour moi, ci-dessus, je ne résous pas mon problème, mais cette ligne commence par:

PM> Install-Package Microsoft.EntityFrameworkCore.Tools
PM> add-migration InitialCreate

/ À la vôtre, Jan

7
JanBorup

Pour moi, je devais copier le dossier Microsoft.entityframeworkcore.tools de

C:\Program Files\dotnet\sdk\NuGetFallbackFolder

À

C:\Users\<user>\.nuget\packages

1
Luís Rigoni

J'ai réinstallé le package Microsoft.EntityFrameworkCore.Tools et le problème a été résolu pour moi.

1
Mansur Haider

J'ai eu le même problème avec un projet créé avec VS2017 version 15.9.4 et .Net Core 2.1.

Je l'ai corrigé en ajoutant Microsoft.EntityFrameworkCore.Tools aux dépendances de mon projet.

  1. Sur projet, sélectionnez Gérer les paquets Nuget
  2. Parcourir et rechercher Microsoft.EntityFrameworkCore.Tools
  3. Installez-le sur votre projet

Ensuite, vous pouvez ouvrir Package Manager Console et utiliser les commandes suivantes: Base de données

Cordialement Dcube

1
dcube9

Téléchargez la dernière version .net Core 2.0 à partir du lien ci-dessous pour résoudre le problème: https://www.Microsoft.com/net/core#windowscmd

1
Tyrone Moodley

Vous devez l'ajouter à votre fichier CSPROJ. Cela sera probablement résolu lorsque le Core 2.0 sera publié. Cela provient d'un problème où vous ne pouvez pas installer ce package Microsoft.EntityFrameworkCore.Tools.DotNet à l'aide des outils NUGET en raison de la version requise.

Ensuite, en utilisant CMD/PowerTools dans le répertoire du projet, vous pouvez exécuter les commandes suivantes:

migrations dotnet ef ajouter InitialCreate

mise à jour de la base de données dotnet ef

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" />
</ItemGroup>
0
Chris Go

Ça marche pour moi.

  1. Fermez toutes les instances de VIsual Studio.
  2. Ouvrir VS.
  3. Ouvrez la console du gestionnaire de packages, laissez-le être initialisé.
  4. Ouvrez maintenant le projet et essayez Add-Migration.
0
vivek nuna