Ich habe versucht, den Befehl 'Enable-Migrations' in einem neuen Projekt auszuführen, und habe die folgende Meldung erhalten:
PM> Enable-Migrations
The term 'Enable-Migrations' 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, verif
y that the path is correct and try again.
At line:1 char:18
+ Enable-Migrations <<<<
+ CategoryInfo : ObjectNotFound: (Enable-Migrations:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Aber in allen anderen Projekten läuft der Befehl einwandfrei.
Warum passiert dies?
Übrigens verwende ich VS2010 Professional SP1
BEARBEITEN: Ich habe mit dem Befehl Install-Package EntityFramework -IncludePrerelease neu installiert und das Problem ist behoben .
entity-framework
migration
Eduardo Brites
quelle
quelle
Antworten:
Das einfache Neustarten von Visual Studio hat für mich funktioniert. Keine Notwendigkeit, Pakete usw. zu installieren.
quelle
Ich habe mit dem Befehl neu installiert: Install-Package EntityFramework -IncludePrerelease und das Problem ist behoben.
quelle
EntityFramework
nur .net Framework 4.0 und 4.5 unterstützt werden. Wenn Sie also .net Framework 4.6 oder höher verwenden, funktioniert dies nicht.Dieses Problem tritt auf, weil Entity Framework nicht installiert ist. Bitte installieren Sie Entity Framework mit dem folgenden Befehl.
Wählen Sie nach der Installation das Projekt in der Dropdown-Liste Standardprojekt der Paketverwaltungskonsole aus.
Stellen Sie sicher, dass mindestens eine Klasse in Ihrem Projekt vom Datenkontext erbt. Andernfalls verwenden Sie die folgende Klasse:
Wenn wir dies nicht tun, erhalten wir einen weiteren Fehler:
No context type was found in the assembly
Nachdem Sie diese Dinge erledigt haben, können Sie ausführen
quelle
Das Neustarten von Visual Studio mit Administratorrechten hat das Problem für mich behoben.
quelle
Stellen Sie sicher, dass Sie Visual Studio als Administrator ausführen.
quelle
Ich hatte das gleiche Problem mit VS 2019 Preview, .Net Core und EntityFramework Core.
Es stellte sich heraus, dass ich über NuGet
Microsoft.EntityFrameworkCore.Tools
und installieren mussteMicrosoft.EntityFrameworkCore.Design
. Sobald das erledigt war, funktionierte es wie ein Zauber.quelle
Zuerst "Install-Package EntityFramework -IncludePrerelease" und dann Visual Studio als Administrator neu starten arbeiteten für mich zusammen.
quelle
In Visual Studio 2012 hatte ich den gleichen Fehler. Musste NuGet deinstallieren (Extras> Erweiterungen und Updates> Installiert> Alle: NuGet Package Manager: Schaltfläche Deinstallieren). Dann Visual Studio geschlossen. Öffnen Sie dann Visual Studio erneut und installieren Sie NuGet neu (Extras> Erweiterungen und Updates> Online> Visual Studio-Galerie: NuGet Package Manager: Schaltfläche Herunterladen). Klicken Sie dann in den folgenden Fenstern auf die Schaltfläche Installieren und dann auf die Schaltfläche Schließen. Schließen Sie dann Visual Studio und öffnen Sie es erneut.
quelle
Was dieses Symptom für mich (VS2013) behoben hat, ist die Deinstallation und anschließende Neuinstallation des EF-Pakets mit Nuget. Der Unterschied in der csproj-Datei hat dies geändert ...
...das mögen...
Ich verstehe noch nicht ganz warum, aber es hat zumindest funktioniert.
quelle
In .NET Core konnte ich die gleiche Auflösung wie in der akzeptierten Antwort beschrieben erreichen, indem ich in der Paketmanagerkonsole Folgendes eingab:
quelle
Ich hatte das gleiche Problem und habe den größten Teil der von anderen Leuten bereitgestellten Lösung ausprobiert, aber es hat bei mir mit den folgenden Schritten funktioniert. Ich habe VS 2017.
Schritte:
Erstellen Sie dann eine Klasse als
und bei der letzten Ausführung
Was bei mir nicht funktioniert hat:
: VS neu starten.
: nur Befehl "Enable-Migrations", der ohne -EnableAutomaticMigrations ist.
: Wiederherstellen oder Aktualisieren von Nuget Package Manager.
Mein ursprünglicher Fehler am Anfang war
/ * Der Begriff "Aktivierung aktivieren" wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder wenn ein Pfad enthalten war, überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut. In Zeile: 1 Zeichen: 1 + Aktivierung-Migration + ~~~~~~~~~~~~~~~~ ~~ + CategoryInfo: ObjectNotFound: (enable-migration: String) [], CommandNotFoundException * /
quelle
Ich hatte das gleiche Problem und stellte fest, dass es an einigen Zeichen im Projektpfad liegt, wie [oder] ich korrigiere den Projektpfad und es hat gut funktioniert!
quelle
Enable-Migrations -EnableAutomaticMigrations
quelle
Da ich bereits einen Migrationsordner hatte, habe ich Visual Studio neu gestartet und Update-Database -verbose in der Paketmanagerkonsole ausgeführt. Das hat bei mir funktioniert
quelle
Ich habe alle oben genannten Vorschläge ausprobiert, aber nichts hat bei mir funktioniert, dann habe ich aktualisiert
Nuget Package Manager
und es hat funktioniert.quelle
Installieren Sie das Entity-Framework mit dem folgenden Befehl im aktuellen Projekt: PM> Install-Package EntityFramework -IncludePrerelease
Fügen Sie eine Klasse "MyDBContext" in den Modellordner ein, wie unten angegeben:
öffentliche Klasse MyDBContext: DbContext {public MyDBContext () {}}
Aktivieren Sie nun Migrationen für das aktuelle Projekt mit dem folgenden Befehl: PM> enable-migrations
quelle
Als Administrator ausführen vs = >> open Öffnen Sie das Projekt
quelle
Versuchen Sie in VS 2013, UPDATE 1 (RC1) zu installieren, und das Problem ist behoben.
quelle
Ich hatte mehrere Projekte in der Lösung, aber ich hatte das richtige Standardprojekt eingestellt, also dachte ich, dass es funktionieren sollte.
Am Ende musste ich die
-StartupProject MyProjectName
Option zum Befehl hinzufügenquelle
Keine dieser Lösungen hat bei mir funktioniert. Meine Lösung war zu löschen
packages/EntityFramework.6.1.3
undRestore NuGet Packages
Ich bemerkte, dass
packages/EntityFramework.6.1.3/tools/EntityFramework.psd1
das fehlte, also war dies eine wahrscheinliche Ursache. Wie es überhaupt entfernt wurde, obwohl ich keine Ahnung habe.quelle
Überprüfen Sie, ob der Konfigurationsabschnitt "entityFramework" vorhanden und in Ihrer .config-Datei beschrieben ist
quelle
Überprüfen Sie die Version des Entity Framework.
Wenn es 6.3 ist, stufen Sie es auf 6.2 herunter und es sollte gut funktionieren
quelle
Ich hatte gerade das gleiche Problem im asp.net-Kern VS2019
Dies löste es:
Vergessen Sie nicht, das Standardprojekt in der Package Manager-Konsole für Ihr Datenbankprojekt festzulegen, falls es sich unterscheidet.
Während der Ausführung der Migrationen scheint auch das Standardprojekt eine Rolle zu spielen. In einem späteren Schritt half es, dies in meinem Hauptstartprojekt (nicht im EF-Datenbankprojekt) zu installieren:
quelle
Wenn Sie ein MVC-Webprojekt erstellen Sie sollten beim Erstellen des Projekts die Option Authentifizierung auswählen. Standardmäßig ist nicht ausgewählt.
quelle
Downgrade auf 6.2 hat mir geholfen.
.NET Framework Version 4.6.1
Projekt im alten Format (nicht .NET Standard)
Visual Studio sollte für die Erstmigration mit Administratorrechten geöffnet sein.
Ich denke, EF mit Version über 6.2 erfordert das neueste .NET Framework.
quelle
Überprüfen Sie, ob das Projekt im Projektmappen-Explorer geöffnet ist.
Dies könnte die Ursache Ihres Problems sein.
quelle