Ne pouvez pas activer les migrations pour Entity Framework sur VS 2017 .NET de Base
Je viens d'installer VS 2017 et a créé un nouveau projet Core. À l'intérieur, j'ai ajouté:
- Microsoft.EntityFrameworkCore (1.1.0)
- Microsoft.NETCore.App (1.1.0)
J'ai également créé un dossier appelé les Modèles avec une classe. Ensuite, je suis allé dans le Gestionnaire de paquets de la Console et exécuté permettre les migrations de sorte que VS allez créer les fichiers nécessaires pour moi. Cependant, au lieu de les fichiers nécessaires, j'ai obtenu l'erreur suivante.
Le terme de "permettre la migration' n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou d'un programme exécutable. 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 essayez à nouveau.
Que suis-je censé faire ici?
Me semble être hors de la chance googler. C'est un très étrange combinaison (Core VS17 et EF) donc il n'y a pratiquement pas d'info sur le sujet. Certains guides de parler logiciel d'édition.json à la main ce qui est un peu dur parce que VS 2017 semble de mise à niveau de la Base, de sorte que dotnet restaurer ne regarde pas pour elle, mais plutôt pour un xxx.csproj.
En résumé, je suis confus et assez incertain de la façon de mordre le problème.
OriginalL'auteur Konrad Viltersten | 2016-12-30
Vous devez vous connecter pour publier un commentaire.
EF de Base n'a pas
Enable-Migrations
commande plus. Les Migrations sont activés "par défaut". Ajouter un nouveau migration avecAdd-Migration
.De la Documentation sur le gestionnaire de package commandes est ici
Désolé, je vois que je n'était pas claire. Dans le lien que vous avez fourni (donc +1), il y a quelque chose a mentionné à propos de Échafaudage-DbContext. Toutefois, l'exécution de cette commande entraîne le même message d'erreur (à l'exception de la Activer-Migrations devient Échafaudage-DbContext, à la place). Ce sujet?
Avez-vous des
Microsoft.EntityFrameworkCore.Tools
paquet installé? (Section"Installation" en haut de cette page)J'ai oublié de les accepter. Vous devriez ai fourré moi, hehe. Merci.
'Install-Package Microsoft.EntityFrameworkCore.Des outils " dans le Gestionnaire de Package NuGet Shell a fonctionné pour moi (en suivant les instructions dans le lien fourni par Dmitry).
OriginalL'auteur Dmitry
J'ai eu un problème similaire avec Visual Studio 2017 et un projet importé de VS 2015, EF Migrations n'était plus de travail.
Après la lecture par le biais de la documentation sur GitHub:
https://github.com/aspnet/EntityFramework/issues/7031
J'ai installé via Nuget ce package:
"De Microsoft.EntityFrameworkCore"
Il a provoqué un effet en cascade de plusieurs télécharge/installe.
Après l'installation, et le redémarrage de VS 2017, Tout est maintenant de retour à la normale.
Deux jours plus tard, avec un autre de Visual Studio 2015 projet, j'ai eu le même problème, et résolu en suivant la procédure ci-dessus, mais j'ai eu cette nouvelle erreur:
"L'héritage des règles de sécurité violé par type: 'Système.Net.Http.WebRequestHandler'. Les types dérivés doit correspondre à la sécurité de l'accessibilité du type de base ou être moins accessible."
J'ai résolu cette erreur en mettant à niveau le Cadre du projet pour plus tard ".NET Framework 4.6.2" (Effrayant.... mais il a travaillé sans plus de questions)
J'ai fait référence à cette documentation sur GitHub:
https://github.com/dotnet/corefx/issues/11100
OriginalL'auteur Alex
Comme d'autres l'ont mentionné avant, permettre les migrations, il est obsolète et qu'il est allumé de toute façon, et vous pouvez utiliser le complément de la Migration InitialCreate.
Je vais ajouter que vous ne PAS besoin d'ajouter d'autres paquets pour le projet, car il va déjà référence à la nécessaire assemblées dans le Microsoft.AspNetCore.Toutes les méta-paquet.
Vous pouvez également utiliser votre console (cmd/shell selon votre OS) au lieu de la PM de la puissance de la console du shell. Pour ce faire, vous devez ajouter une référence à la dotnet outil: modifier votre fichier de projet (cliquez droit et sélectionnez " edit .csproj " et ajouter la référence suivante dans un ItemGroup:
et puis dans le type de console
dotnet ef migrations add InitialCreate
Ajouter de la Migration .NET de Base
.NET de Base CLI
OriginalL'auteur David Refaeli
Je viens d'installer
Microsoft.EntityFrameworkCore.Tools
, puis j'ai essayé d'exécuterenable-migrations
puis j'ai eu le message suivant dans VS2017:Espère que cela aide.
OriginalL'auteur franco148
Résolu
Package; dans Parcourir, recherchez le EntityFramework add-on, de l'installer
puis redémarrez Visual Studio.
OriginalL'auteur Luisitox
allez dans Outils->Gestionnaire de Package NuGet->Gestionnaire de Package Console
écrire
puis
cette commande fonctionne pendant toute la durée de vie d'un projet est donc à vous de l'écrire qu'une seule fois dans un projet
OriginalL'auteur Chameleon