L'expression "ajouter-Migration" n'est pas reconnue
j'utilise ce tutoriel MSDN pour exécuter dans VS2015 la commande PM> Add-Migration MyFirstMigration -context BloggingContext
qui a fonctionné 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é le dossier Migrations de solution explorer et le db correspondant de SQL Express 2014 on Win 8.1
mais la même erreur. Même si j'exécute 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 : j'utilise la dernière version de ASP.NET Core 1.0 et VS2015-mise à jour 3 publiée le 27 juin 2016.
mise à JOUR
les commandes suivantes fonctionnent bien à partir du répertoire du projet dans l'Explorateur de windows lorsque vous utilisez la fenêtre de commande:
> dotnet ef migrations add MyFirstMigration --context BloggingContext
> dotnet ef database update --context BloggingContext
mise à JOUR 2a
ci-dessous est le projet.dossier 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%" ]
}
}
15 réponses
essayez les étapes suivantes:
1) Ouvrir project.json
fichier et Supprimer Tout Microsoft.Entiteframeworkcore.Références d'outils des sections dépendances et outils .
2) Fermer Gestionnaire de paquets de la Console ( PMC ) et redémarrer Visual Studio
3) ajouter sous dépendances section:
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
}
4) ajouter sous outils section
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
5) redémarrer encore une fois Visual Studio 2015
6) Ouvrir le PMC et de type
Add-Migration $Your_First_Migration_Name$
cela se produit parce que le PMC reconnaître les outils lorsque Visual Studio démarre.
S'assurer que Microsoft.EntityFrameworkCore.Tools
est référencé dans la section dependencies
de votre project.json
. NuGet ne chargera pas les commandes Package Manager de la section tools
. (Voir NuGet / Home#3023 )
{
"dependencies": {
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
}
}
}
je viens d'avoir ce problème aussi. J'ai fermé et ouvert VS2015 et il a "corrigé" le problème...
j'ai eu ce problème dans Visual Studio 2013. J'ai réinstallé le Gestionnaire de paquets NuGet:
https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013
même numéro...résolu par dong le suivant
1.) fermez gestionnaire de projets 2.) fermer Studio visuel 3.) Open Visual Studio 4.) Open pm manager
semble que l'astuce est de fermer Gestionnaire de PM avant de fermer VS
ce que j'avais à faire...
1) Outils -> Package Nuget Crèche -> Gestionnaire De Paquets Paramètres
2) Onglet Général
3) Effacer tout le(S) Cache (s) NuGet
4) Redémarrer Visual Studio
essayez Microsoft.Entiteframeworkcore.Outils. Dans PM, exécuter
C:\Users\<username>\.nuget\packages\Microsoft.EntityFrameworkCore.Tools.0.0-preview2-final\tools\init.ps1.
ça m'a aidé avec le même problème. Une version des outils pourrait être différente. Il dépendait de ce que vous utilisez dans votre projet.
j'ai eu le même problème et j'ai trouvé qu'il s'agissait d'un problème de version Visual Studio dans le fichier Solution.
Je ciblais:
VisualStudioVersion = 14.0.25123.0
mais je devais cibler:
VisualStudioVersion = 14.0.25420.1
après avoir effectué ce changement directement dans le fichier Solution, EF Core cmdlets a commencé à travailler dans la Console du Gestionnaire de paquets.
j'ai rencontré le même problème. La plupart de mes projets avaient la même chose en outils.
"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
}
cela a bien fonctionné sur tous les projets sauf un. J'ai changé l'entrée dans Outils en
"tools": {
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
}
}
puis dotnet restore
. Une fois la restauration terminée, Add-Migration
a fonctionné normalement.
j'ai eu ce problème et aucune des solutions précédentes m'ont aidé. Mon problème était en fait dû à une version périmée de powershell sur ma machine Windows 7 - Une fois que j'ai mis à jour vers powershell 5 il a commencé à fonctionner.
ce sont les étapes que j'ai suivi et il a résolu le problème
1)J'ai amélioré mon shell de puissance de la version 2 à 3
2)fermer la Console PM
3) Redémarré Visual Studio
4) exécuté la commande ci-dessous dans la Console PM dotnet restore
5)Add-Migration InitialMigration
ça a marché !!!
passez à la console du gestionnaire de paquets (dans visual studio) et exécutez la commande
C:\Users\<YOUR_USER>\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\<YOUR_INSTALLED_VERSION>\tools\init.ps1
je pense que la réponse doit être mise à jour en 2017, car les États membres ont apporté quelques changements (de rupture) qui sont détaillés ici.
https://github.com/aspnet/EntityFramework/issues/7053
pour résumer, vous aurez maintenant besoin d'une référence à Entiteframeworkcore.Outils.DotNet dans la Section Outils comme ci-dessous
"de Microsoft.Entiteframeworkcore.Outils.DotNet": "1.0.0"
j'ai aussi posté un projet de travail.JSON fichier ci-dessous au cas où quelqu'un court dans les problèmes.
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.1",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
"Microsoft.Extensions.Configuration.Json": "1.0.1",
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
}
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"publishOptions": {
"include": [
"wwwroot",
"web.config"
]
},
"scripts": {
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
j'ai essayé de faire tout ce qui précède et pas de chance. J'ai téléchargé le dernier paquet .net core 2.0 et j'ai lancé les commandes à nouveau et ça a marché.
c'est si simple.
il suffit d'installer Microsoft.EntityFrameworkCore.Tools
paquet de nuget:
Install-Package Microsoft.Entiteframeworkcore.Outils-Version 2.1.3
Vous pouvez également utiliser ce lien pour installer la dernière version: package Nuget lien