Le terme de “complément de Migration” n'est pas reconnu
Je suis en utilisant ce MSDN Tutoriel à exécuter dans VS2015 la commande PM> Add-Migration MyFirstMigration -context BloggingContext
qui a couru hier avec succès, mais aujourd'hui, il donne l'erreur suivante, qui est également souligné par d'autres utilisateurs ici. J'ai même supprimé les Migrations dossier depuis l'explorateur de solutions et la db correspondant de SQL Express 2014 on Win 8.1
mais même erreur. Même si je Add-Migration MyFirstMigration
j'obtiens la même erreur:
Add-Migration : The term 'Add-Migration' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Add-Migration MyFirstMigration -context BloggingContext
+ ~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Add-Migration:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Note: je suis en utilisant la dernière version de ASP.NET Core 1.0 et VS2015 - mise à Jour 3 publié le 27 juin 2016.
Mise à JOUR
Les commandes suivantes fonctionnent bien à partir du répertoire du projet dans l'explorateur de windows lors de l'utilisation de la fenêtre de commande:
> dotnet ef migrations add MyFirstMigration --context BloggingContext
> dotnet ef database update --context BloggingContext
Mise à JOUR 2a
Suivant est le projet.fichier json:
{
"userSecretsId": "aspnet-ASPCore_RTM_CodeFirst_test-bef835d9-9831-41a8-bc3a-cd2f1477a880",
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": {
"version": "1.0.0",
"type": "build"
},
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
"version": "1.0.0-preview2-final",
"type": "build"
}
},
"tools": {
"BundlerMinifier.Core": "2.0.238",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.0.0-preview2-final",
"imports": [
"portable-net45+win8"
]
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config"
]
},
"scripts": {
"prepublish": [ "bower install", "dotnet bundle" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
- Merci de ne pas les trucs les balises dans le titre
- veuillez écrire votre projet.json je veux voir vos paquets
- selon votre demande, j'ai ajouté une mise à JOUR 2 dans mon post pour ajouter la section pertinente de peoject.fichier json. S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'info
- Vous avez obtenu une réponse de @briceIam (équipe EF) je pense qu'il fonctionne!
- J'ai ajouté de l'ensemble du contenu du projet.fichier json dans la mise à JOUR 2 de l'article de mon post. Veuillez voir mes commentaires dans la réponse de
@bricelam
. Ce que j'ai peut-être manquant? - Pour le bénéfice des chercheurs, j'ai résolu un problème similaire par la fermeture de TOUTES les instances de Visual Studio et de commencer à nouveau de retour. Peut sauver quelqu'un d'un peu plus de temps.
- Ce problème devrait être résolu après la fermeture de Visual Studio. Reportez-vous à ce liendocs.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db
Creating Database
pour plus d'informations. - comment faire pour voir le projet.json, je suis dans VS2017 et d'avoir le même problème
Vous devez vous connecter pour publier un commentaire.
Essayez les étapes suivantes:
1) Ouvrir
project.json
fichier et Supprimer tous Microsoft.EntityFrameworkCore.Les outils de références de dépendances et outils sections.2) Près la Console du Gestionnaire de Package (PMC) et redémarrer Visual Studio
3) Ajouter sous dépendances section:
4) Ajouter sous outils section
5) Redémarrer nouveau Visual Studio 2015
6) Ouvrir la PMC et le type
Cela arrive à cause de la PMC reconnaître les outils lors de Visual Studio est de commencer.
Assurer
Microsoft.EntityFrameworkCore.Tools
est référencé dans ladependencies
section de votreproject.json
. NuGet ne sont pas charger le Gestionnaire de paquets de Commandes à partir de latools
section. (Voir NuGet/Home#3023)Microsoft.EntityFrameworkCore.Tools
est à l'intérieur de la section des dépendances ainsi. LeAdd-Migration
etUpdate-Database
commandes , comme indiqué dans le tutoriel a travaillé la nuit avant. Mais quand je les ai essayé lendemain matin, après avoir fait des modifications mineures à mon modèle et essayé ces commandes une fois encore, ils ont donné le message d'erreur décrit dans mon post. J'ai même supprimé la Migration de dossier et le correspondant de la base de données du Serveur SQL, mais j'ai eu le même message d'erreur après l'exécution de ces commandes. Ce que j'ai peut-être manquant?tools
et l'ajouter de nouveau après. Déplaçant simplement àdependencies
entraînera le message d'erreur suivant: Impossible d'exécuter cette commande parce que 'Microsoft.EntityFrameworkCore.Tools n'est pas installé dans le projet " src\<votre projet>. Ajouter " De Microsoft.EntityFrameworkCore.Des outils "à la section "outils" dans le projet.json. Voir go.microsoft.com/fwlink/?LinkId=798221 pour plus de détails.C'est tellement simple.
Il suffit d'installer
Microsoft.EntityFrameworkCore.Tools
paquet de nuget:Vous pouvez également utiliser ce lien pour installer la dernière version:
Package Nuget lien
même problème...résolu par dong suivantes
1.) fermer pm manager
2.) fermez Visual Studio
3.) Ouvrez Visual Studio
4.) Ouvrir pm manager
semble que le truc, c'est de fermer PM Manager avant de fermer VS
J'ai juste eu ce problème aussi. J'ai fermé et ouvert VS2015 et il est "résolu" le problème...
Vous devez savoir ce qu'est votre
Entity-Framework
version.Aussi après que vous avez à vérifier
project.json
et le contrôle de ces sections:Dans Dépendances
vérifier:
Cette section:
est liée à la version de votre
Entity-Framework
et vous devez changer cela avec qui.Après que la deuxième section de la
proj.json
est ici, Dans leTools
section deJSON
vous avez:Aussi cette partie de code est lié avec votre
Entity-Framework
et dernière partie de code dans Dépendances section.Remarque: Après cela, vous devez fermer
CMD
et redémarrez visual studio.J'ai eu ce problème dans Visual Studio 2013. J'ai réinstallé Gestionnaire de Package NuGet:
https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013
Ce que j'avais à faire...
1) Outils -> Package Nuget Crèche -> Gestionnaire de paquets Paramètres
2) Onglet Général
3) Effacer Tous les NuGet Cache(s)
4) Redémarrez Visual Studio
Je suis tombé sur le même problème. La plupart de mes projets de a eu la même chose dans les outils.
Cela a bien fonctionné sur tous, mais un projet. J'ai changé l'entrée dans les outils de
Puis a couru
dotnet restore
. Une fois la restauration terminée,Add-Migration
a travaillé normalement.Juste essayer init Microsoft.EntityFrameworkCore.Outils.
En PM exécuter
Il m'a aidé avec le même problème.
Une version des outils peuvent être différentes. Il dépendait de ce que vous utilisez dans votre projet.
J'ai eu le même problème et trouvé que c'était un Visual Studio problème de contrôle de version dans le fichier de Solution.
J'ai été ciblage:
VisualStudioVersion = 14.0.25123.0
Mais j'avais besoin de cible:
VisualStudioVersion = 14.0.25420.1
Après avoir fait que de modifier directement le fichier de Solution, EF cmdlets de Base a commencé à travailler dans le Gestionnaire de paquets de la Console.
14.0.25421.03 Update 3
c'est même plus que ce que vous êtes en utilisant.J'ai eu ce problème et aucune des solutions précédentes m'ont aidé. Mon problème était en fait due à une ancienne version de powershell sur mon ordinateur Windows 7 - une fois que j'ai mis à jour pour powershell 5 il a commencé à travailler.
Ce sont les étapes que j'ai suivi et il a résolu le problème
1)mis à jour ma Power shell à partir de la version 2 à 3
2)Fermé le PM Console
3)Redémarré Visual Studio
4)a Couru la commande ci-dessous en PM Console
dotnet restaurer
5)Ajoutez-La Migration InitialMigration
Il a travaillé !!!
Aller à la console du gestionnaire de package(dans visual studio) et exécuter la commande ci-dessous
Je pense que la réponse doit être mis à jour en 2017, que les MS ont fait certains (briser) des changements qui est détaillée ici.
https://github.com/aspnet/EntityFramework/issues/7053
Pour résumer, vous avez maintenant besoin d'une référence à EntityFrameWorkCore.Outils.DotNet dans la Section Outils, comme ci-dessous
"De Microsoft.EntityFrameworkCore.Outils.DotNet": "1.0.0"
J'ai également publié un projet de travail.fichier json ci-dessous, dans certains cas, on exécute dans les problèmes.
J'ai essayé de faire tout ce qui précède et pas de chance. J'ai téléchargé la dernière .net core 2.0 paquet et a couru les commandes nouveau et cela a fonctionné.
1.1.1
à2.0
?