Les commandes EF7 ne fonctionnent pas dans VS2015 CTP 6

asp.net-mvc-5 entity-framework-core

Question


J'essaie d'exécuter la migration ef7 sur un nouveau projet de prévisualisation asp.net 5.
Les étapes que j'ai prises:

  1. Création d'un nouveau projet basé sur le modèle "ASP.NET 5 preview starter web"
  2. Construit le
  3. Essayez la commande Add-Migration dans la console du Gestionnaire de packages.

Résultat:

Le terme 'Add-Migration' n'est pas reconnu comme le nom d'une applet de commande, d'une fonction, d'un fichier de script ou d'un programme utilisable.

J'essaie aussi cette commande:

Install-Package EntityFramework.Commands -Pre

Je pense que pour le projet VS 2015 est redondant, il s’est exécuté mais Add-Migration n’a toujours pas été reconnu.

Merci d'avance pour les indices ...

Réponse acceptée

Les commandes NuGet ne fonctionnent pas avec les projets ASP.NET 5. Vous devrez utiliser les versions en ligne de commande ASP.NET 5 des commandes. (Par exemple, la k ef migration add ) Nous avons un problème aspnet / DNX # 952 susceptible de débloquer ce scénario, mais il n’a pas été très actif.

Pour en savoir plus sur les commandes ASP.NET, consultez mon article intitulé Migrations EF7: Commandes ASP.NET .


Réponse populaire

Ok, je sais que c’est une vieille question à laquelle on a déjà répondu techniquement. Autrement dit, si vous souhaitez ouvrir une invite de commande et le faire. La cause première de ce problème est que le module PowerShell n'est pas en cours d'initialisation. Il existe cependant une solution simple. Vous avez juste besoin d'initialiser le module. Accédez à votre explorateur de solution. Accédez à Références >> .NETCoreApp, Version = v1.0, puis faites défiler la liste jusqu'à ce que vous trouviez Microsoft.EntityFrameworkCore.Tools et que vous présentiez les propriétés. Prenez note du chemin, cela devrait être quelque chose comme

C: \ Users \ YourUserName \ .nuget \ packages \ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-preview2-final

Une fois que vous avez cela aller à l'emplacement du chemin dans l'explorateur de fichiers. Vous devriez voir un autre dossier appelé outils. Dans ce dossier, vous verrez un fichier .ps1 appelé init.ps1. C'est le module que nous devons initialiser. Revenons donc à Visual Studio, j'utilise VS 2015 pro et Win 10 pro, ouvrez la console du gestionnaire de packages. Tapez ce qui suit

cd "C: \ Utilisateurs \ VotreNomUtilisateur \ .nuget \ packages \ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-preview2-final \ tools"

et appuyez sur Entrée. Ensuite, pour initialiser un module dans PowerShell, il vous suffit de taper

. . \ init.ps1

ou je crois que vous pouvez simplement faire le chemin entier et obtenir les mêmes résultats afin que de cette façon serait

C: \ Users \ YourUserName \ .nuget \ packages \ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-preview2-final \ tools \ init.ps1

Malheureusement, vous devrez le faire chaque fois qu'une erreur apparaît, mais ce n'est pas si grave si vous enregistrez simplement le chemin dans un fichier .txt ou si vous le commentez quelque part dans votre projet, ce qui est facile à trouver.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi