Lorsque vous essayez d'échafauder avec asp.net core cette commande
scaffold-dbcontext "Source de données = (local); Initial Catalogue = MyDb; Sécurité intégrée = True;" Modèles Microsoft.EntityFrameworkCore.sqlserver -outputdir
Donne cette erreur.
scaffold-dbcontext: le terme 'scaffold-dbcontext' n'est pas reconnu en tant que nom d'une applet de commande, fonction, fichier de script ou programme utilisable . Vérifiez l'orthographe du nom ou, si un chemin a été inclus, vérifiez que le chemin est correct et essayez à nouveau. A la ligne: 1 caractère: 1 + scaffold-dbcontext "Source de données = (local); Catalogue initial = MyDB; In ... + ~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound : (scaffold-dbcontext: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
J'ai essayé la solution ici , mais cela ne fonctionne pas pour moi.
Une idée de ce que la cause/guérison pourrait être?
Pour moi, apparemment cela a fonctionné une fois que je me suis exécuté dans la console du gestionnaire de packages
Install-Package Microsoft.EntityFrameworkCore.Tools
Assurez-vous également:
Pour que d'autres dépendances (par exemple Microsoft.EntityFrameworkCore, Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.SqlServer.Design ...) soient référencées en fonction de vos besoins.
Pour sélectionner la bonne Assemblée en tant que cible pour vos commandes dans le coin supérieur droit de la console PM (je me trompe souvent en l'oubliant ...)
Un autre problème que j'ai rencontré: avec le dbcontext situé dans une bibliothèque de classe séparée, j'ai rencontré l'erreur suivante:
Impossible de trouver l'assembly du fournisseur avec le nom Microsoft.EntityFrameworkCore.SqlServer. Assurez-vous que le nom spécifié est correct et est référencé par le projet.
Ce que j'ai pu résoudre en définissant ma bibliothèque de classe comme projet Startup dans VS (ne demandez pas pourquoi, mais cela a fonctionné).
Exécutez ces commandes dans Package Manager Console :
Install-Package Microsoft.EntityFrameworkCore.Tools
et
Install-Package Microsoft.EntityFrameworkCore.SqlServer
J'ai récemment rencontré une autre cause de cette erreur: NuGet était obsolète.
La mise à jour de NuGet a résolu le problème.
Si la réponse de Devanathan ne vous convient pas, assurez-vous que NuGet est à jour.