web-dev-qa-db-de.com

Der Begriff "Update-Database" wird nicht als Name eines Cmdlets erkannt

Ich verwende EF5 beta1 und habe vorher die "Update-Datenbank" laufen lassen. Jetzt, da ich Visual Studio heruntergefahren habe, kann ich es nicht mehr ausführen. Ich erhalte folgende Fehlermeldung:

Der Begriff "Update-Database" wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines bedienbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens oder überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut. An Zeile: 1 Zeichen: 16 + Update-Datenbank <<<< -verbose + CategoryInfo: ObjectNotFound: (Update-Database: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

Ich habe versucht, EF5b1 erneut zu installieren, und obwohl es erfolgreich war (bereits installiert), funktioniert die 'Update-Datenbank' immer noch nicht.

Kann jemand helfen???

92
user1265146

Ich habe dieses Problem in letzter Zeit einige Male gehabt. Ich fand, dass die Lösung bestand, die Package Manager Console zu schließen, Visual Studio zu schließen und sie dann erneut zu öffnen. Der Neustart funktionierte auch meistens, aber nicht immer.

157
Richard

Wenn Sie Entity Framework verwenden:

Error Message:"Fehlermeldung (vom Befehl Update-Database im PMC): Der Begriff" Update-Database "wird nicht als Name eines Cmdlets, Funktion, erkannt. Skriptdatei oder lauffähiges Programm. Überprüfen Sie die Schreibweise des Namens oder überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut. " 

Lösung:"Beenden Sie Visual Studio. Öffnen Sie das Projekt erneut und versuchen Sie es erneut." 

Weitere Informationen finden Sie unter: Advanced Entity Framework 6 Szenarien für eine MVC 5-Webanwendung (12 von 12)

Hoffe das hilft...

46
Murat Yıldız

Wenn ich VS lade, sehe ich dies manchmal in meiner Paket-Manager-Konsole:

Der Wert kann nicht Null sein.

Parametername: Pfad1

Ich habe keine Ahnung, was das noch verursacht, aber es scheint, dass beim Starten der Powershell-Konsole etwas schief geht, was die Registrierung bestimmter Module, wie der EF-Powershell-Erweiterungen, unterbricht. Sie können es jedoch nur manuell laden:

Import-Module .\packages\EntityFramework.6.1.1\tools\EntityFramework.psm1

Stellen Sie sicher, dass Sie 6.1.1 durch die aktuelle Version von Entity Framework ersetzen.

20
Steve Rukuts

Durch die Neuinstallation des Nuget-Pakets wurde dieses Problem für mich behoben

dh ausführen

Install-Package EntityFramework -Version 5.0.0

im Paketmanager

15
orangesherbert

Starten Sie einfach Visual Studio neu, um das Problem zu lösen. Funktioniert bei mir.

8

sie erhalten diese Fehlermeldung, wenn die EF-Tools nicht ordnungsgemäß installiert sind.

versuchen Sie den folgenden Befehl im Paketmanager von Nuget//Uninstalliert und installiert dieselbe Version von EF

Update-Package "EntityFramework" -reinstall

Wenn Sie immer noch das gleiche Problem haben ... Erstellen Sie ein neues Webprojekt und führen Sie den folgenden Befehl in nuget aus.

(Hinweis: Es ist nicht erforderlich, das neue Projekt in derselben Projektmappe oder An derselben Stelle zu erstellen.)

// Dadurch wird EF auf die neueste Version aktualisiert (einschließlich der Tools) // Wenn Sie eine bestimmte Version verwenden möchten, verwenden Sie das Flag -version.

Update-Package "EntityFramework"

Wenn Sie dies getan haben, überprüfen Sie Ihr ursprüngliches Projekt und Sie können das neu erstellte Projekt löschen.

7
sudhAnsu63

Ich hatte das gleiche Problem, und der Ursprung davon war auf meinem Pfadnamen. Ich hatte auf meinem Pfad einen Verzeichnisnamen mit geraden Klammern, wie folgt: C:\[PROJ]\TestApp.

Als ich die Klammern zu C:\PROJ\TestApp entfernte, fing es an, gut zu funktionieren ... 

4

Nur ReOpen Visual Studio ist für mich Arbeit

4
Grey Wolf

Für mich war das Problem die Nuget-Version .

  1. deinstallieren Sie den Nuget Package Manager.
  2. starten Sie Visual Studio neu.
  3. installierte neue Version von Nuget Package Manager.
  4. starten Sie dann Visual Studio erneut.
4
reza.cse08

Dieses Problem scheint zu bestehen, wenn Sie das Projekt direkt über den Datei-Explorer öffnen. Versuchen Sie zuerst, VS zu starten und dann das Projekt zu öffnen - das hat für mich funktioniert. Ich vermute, es geht um den Zugang zu Pfaden.

1
Johnny Nintendo

Ich habe das Problem mit der Deinstallation und Neuinstallation von "Microsoft.EntityFrameworkCore" und "Microsoft.EntityFrameworkCore.Tools" gelöst

1
Marco Rinaldi

In meinem Fall hat das Neustarten von Visual Studio (viele, viele Male) nicht funktioniert. Als ich dann woanders nachgesehen habe, habe ich eine Meldung auf dem Ausgabeterminal gefunden:

Das aktuelle .NET SDK unterstützt keine Ausrichtung auf .NET Core 2.2. Entweder auf .NET Core 2.1 oder niedriger abzielen oder eine Version des .NET SDK verwenden, die .NET Core 2.2 unterstützt.

Also habe ich die erforderliche Version von .NET Core installiert und der Befehl wurde erfolgreich ausgeführt.

0
maury844

Für mich stellt sich heraus, dass der EntityFramework-Kern nicht in meinem Projekt installiert war (weil ich mit einem leeren Projekt angefangen habe). Durch die Installation von EntityFramework package wurde das Problem behoben. Wenn die EntityFramework-Installation fehlschlägt, versuchen Sie manchmal, einzelne Pakete einzeln zu installieren 

Z.B.

Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.SqlServer.Design
Microsoft.EntityFrameworkCore.Tools
0
Deepak Kumar

Ich fand heraus, dass es an einem beschädigten Paket lag. Ich hatte Automapper installiert, als es bereits installiert war. Es war nur klar, dass dieses Paket beschädigt war, als ich versuchte, ein anderes Paket zu installieren. 

Durch das Entfernen des beschädigten Pakets wurde dieses Problem für mich behoben. 

Sie können dann Automapper erneut installieren. Das Problem war mit Version 5.4, ich bin jetzt glücklich über 6.0. 

0
Sam

Für alle, die .NET Core und EntityFrameworkCore verwenden:

Sie müssen das Microsoft.EntityFrameworkCore.Tools-Paket installieren, um dieses Problem zu beheben.

Lesen Sie hier mehr: https://docs.Microsoft.com/en-us/ef/core/miscellaneous/cli/powershell

0

Ich habe das Problem behoben, indem ich die Package Manager Console aktualisiert habe. 

Ich habe keine Update-Datenbank in der Package Manager Console erhalten. Dann starte ich mehrmals neu. Starten Sie auch Windows neu.

Dann lade ich ein neues von nuget herunter und dann wurde es gelöst.

0
Shiblee

Eine einfache Lösung für mich bestand darin, sicherzustellen, dass zwischen Update und Datenbank ein Bindestrich war, wie folgt: update-database und Kleinbuchstaben verwenden. Es kann zufällig sein, aber als ich dies in Packet Manager Console tat, wurde die Datenbank tatsächlich aktualisiert und ich erhielt die Fertigmeldung und nicht den not recognized as the name of a cmdlet, function, script file-Fehler.

0
user10776524

In meinem Fall habe ich Folgendes getan: - fehlende NuGet-Pakete wiederhergestellt, indem Sie auf die Schaltfläche "Wiederherstellen" oben in der Package Manager Console klicken.

0
Dragos Bajenaru

In meinem Fall:

  • Projekt neu laden hat nicht geholfen
  • Neustart VS hat nicht geholfen
  • Neustart des Computers hat nicht geholfen
  • Reinstal EF hat nicht geholfen

Aber ich habe einen Artikel gefunden, in dem vorgeschlagen wurde, ein fehlendes EF-Paket manuell mit PM Conole zu importieren:

Import-Module .\packages\EntityFramework.X.X.X\tools\EntityFramework.psm1

Und diese Lösung hat mein Problem gelöst.

0
MAN

Das Wiederherstellen des NuGet-Pakets hat mir nicht geholfen. Also musste ich den Paketmanager erneut installieren - https://visualstudiogallery.msdn.Microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca Kann es jemandem helfen

0
Kate

Wenn die anderen Antworten nicht funktionieren (VS 2017): Löschen Sie den NuGet-Cache, starten Sie VS neu und stellen Sie dann die Pakete wieder her.

0
Biarity

Ich hatte dieses Problem in Visual Studio 2015 und löste es durch ein Update der Nuget-Version.

Extras -> Erweiterungen und Updates -> Updates -> Visual Studio Gallery

0
Owen Pauling

Ich hatte das gleiche Problem, nachdem ich versehentlich eine Visual Studio-Lösung mit Visual Studio 2015 anstelle von 2017 geöffnet hatte. Das Projekt hat vor diesem Missgeschick einwandfrei funktioniert. Es war ein älteres Projekt mit EF 5.0 und nicht mit EF Core.

Ich habe alles Vorgeschlagene ausprobiert - Visual Studio unzählige Male neu gestartet, NuGet-Cache aufgeräumt, alles im Paketordner gelöscht, EF 5 für das Projekt neu installiert - nicht gut, Add-Migration wurde nicht erkannt. Wenn ich EF auf 6 aktualisiert habe, wurden die Befehle erkannt, aber ich wollte noch kein Upgrade durchführen. Sobald ich zu EF 5 zurückgekehrt war, kehrte das Problem zurück.

Das Einzige, was mich gerettet hat, war Folgendes:

  • schließen Sie Visual Studio
  • alles aus dem Paketordner löschen
  • löschen Sie den Ordner .vs im Stammverzeichnis Ihrer Lösung. Dieser Ordner ist normalerweise versteckt. Sie müssen die Einstellung Versteckte Dateien und Ordner anzeigen aktivieren oder die Option Versteckte Elemente in der Registerkarte Ordneransicht aktivieren
  • starten Sie Visual Studio und öffnen Sie Ihre Lösung. Sie werden aufgefordert, NuGet-Pakete wiederherzustellen. Stimmen Sie dem zu.

Jetzt fingen EF-Befehle endlich wieder an zu arbeiten.

0
JustAMartin