142 votes

Le terme "Update-Database" n'est pas reconnu comme le nom d'un cmdlet.

J'utilise EF5 beta1 et alors que j'étais capable d'exécuter la "Update-Database" avant. Maintenant que je ferme Visual Studio, je n'arrive pas à l'exécuter. J'obtiens l'erreur suivante :

Le terme 'Update-Database' n'est pas reconnu comme le nom d'un cmdlet, d'une fonction, d'un fichier script ou d'un programme exploitable. Vérifiez l'orthographe du nom, ou si un chemin d'accès a été inclus, vérifiez que le chemin d'accès est correct et réessayez. A la ligne:1 char:16 + Update-Database <<<< -verbose + CategoryInfo : ObjectNotFound : (Update-Database:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

J'ai essayé de réinstaller EF5b1 et bien que cela ait réussi (déjà installé), la fonction 'Update-Database' ne fonctionne toujours pas.

Quelqu'un peut-il m'aider ?

0voto

Shiblee Points 1

J'ai résolu le problème en mettant à jour la console du gestionnaire de paquets.

Je n'ai pas obtenu Update-Database dans la console du gestionnaire de paquets. Ensuite, j'ai redémarré plusieurs fois. Je redémarre également Windows.

Ensuite, je télécharge le nouveau depuis nuget et puis ça a été résolu.

0voto

Owen Pauling Points 222

J'ai eu ce problème dans Visual Studio 2015 et je l'ai résolu en mettant à jour la version de Nuget.

Outils -> Extensions et mises à jour -> Mises à jour -> Visual Studio Gallery

0voto

user10776524 Points 1

La solution simple pour moi était de m'assurer qu'il y avait un tiret entre la mise à jour et la base de données, comme ceci : update-database et utiliser des minuscules. Il peut s'agir d'une coïncidence, mais lorsque j'ai effectué cette opération dans la console Packet Manager, la base de données a été mise à jour et j'ai obtenu le message "done" au lieu de l'avertissement suivant not recognized as the name of a cmdlet, function, script file erreur.

0voto

Martin Points 1889

J'ai commencé à avoir le même problème après avoir accidentellement ouvert une solution Visual Studio avec Visual Studio 2015 au lieu de 2017. Le projet fonctionnait très bien avant cette mésaventure. Il s'agissait d'un ancien projet utilisant EF 5.0 et non EF Core.

J'ai essayé tout ce qui était suggéré - j'ai redémarré Visual Studio un nombre incalculable de fois, j'ai nettoyé le cache NuGet, j'ai supprimé tout ce qui se trouvait dans le dossier packages, j'ai réinstallé EF 5 pour le projet - rien de bon, add-migration n'était pas reconnu. Si je mettais EF à niveau vers 6, il commençait à reconnaître les commandes, mais je ne voulais pas encore mettre à niveau. Donc, dès que je suis revenu à EF 5, le problème est revenu.

La seule chose qui m'a finalement sauvé a été de faire ce qui suit :

  • fermer Visual Studio
  • supprimer tout ce qui se trouve dans le dossier des paquets
  • supprimer le dossier .vs à la racine de votre solution. Ce dossier est généralement caché, vous devez activer le paramètre Afficher les fichiers et dossiers cachés ou cocher la case Éléments cachés dans l'onglet Affichage du dossier.
  • lancez Visual Studio et ouvrez votre solution. Il vous demandera de restaurer les paquets NuGet, acceptez-le.

Les commandes EF ont enfin recommencé à fonctionner.

0voto

MAN Points 50

Dans mon cas :

  • Le rechargement du projet n'a pas aidé
  • Le redémarrage de VS n'a pas aidé
  • Le redémarrage de l'ordinateur n'a pas aidé
  • La réinstallation d'EF n'a pas aidé

Mais j'ai trouvé un artículo où la suggestion était d'importer manuellement le paquet EF manquant, en utilisant PM Conole :

Import-Module .\packages\EntityFramework.X.X.X\tools\EntityFramework.psm1

Et cette solution a résolu mon problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X