Entity Framework Code First-Migration Fehler
Ich bin neu in der MVC 4 und entity framework und wenn ich diesen Befehl ausführen aus dem Paket-manager-Konsole:
Enable-Migrations -ContextTypeName MyFirstMvcApp.Models.InventoryDbContext
Join-Pfad : Nicht binden argument zum parameter 'Pfad', da es null ist.
Bekomme ich die folgende Fehlermeldung:
Join-Path : Cannot bind argument to parameter 'Path' because it is null.
At D:\GitProjects\MyFirstMvcApp\trunk\packages\EntityFramework.6.0.0-alpha2\tools\EntityFramework.psm1:363 char:27
+ $toolsPath = Join-Path <<<< $installPath tools
+ CategoryInfo : InvalidData: (:) [Join-Path], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand
Join-Path : Cannot bind argument to parameter 'Path' because it is null.
At D:\GitProjects\MyFirstMvcApp\trunk\packages\EntityFramework.6.0.0-alpha2\tools\EntityFramework.psm1:392 char:73
+ $utilityAssembly = [System.Reflection.Assembly]::LoadFrom((Join-Path <<<< $toolsPath EntityFramework.PowerShell.Utility.dll))
+ CategoryInfo : InvalidData: (:) [Join-Path], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand
You cannot call a method on a null-valued expression.
At D:\GitProjects\MyFirstMvcApp\trunk\packages\EntityFramework.6.0.0-alpha2\tools\EntityFramework.psm1:393 char:50
+ $dispatcher = $utilityAssembly.CreateInstance <<<< (
+ CategoryInfo : InvalidOperation: (CreateInstance:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Join-Path : Cannot bind argument to parameter 'Path' because it is null.
At D:\GitProjects\MyFirstMvcApp\trunk\packages\EntityFramework.6.0.0-alpha2\tools\EntityFramework.psm1:426 char:19
+ (Join-Path <<<< $runner.ToolsPath EntityFramework.PowerShell.dll),
+ CategoryInfo : InvalidData: (:) [Join-Path], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand
Wie kann ich dieses Problem beheben?
Beachten Sie, dass ich benutze Visual Studio 2010 Ultimate mit SP1 und ich habe installiert MVC4 in diesem link.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Behoben durch die deinstallation und neu-Installation von entity framework.
Zum Wohle der anderen, hier sind die Befehle...
Deinstallieren:
Nach deinstallieren, neu installieren, EntityFramework:
Da! Es ist behoben. Obwohl ich noch immer nicht weiß, was das problem verursacht.
PM> Install-Package EntityFramework -Pre -Version 5.0.0
zur jeweiligen versionVisual studio 2019:
Deinstallieren-Paket EntityFramework -Force
dann
Install-Package EntityFramework -Pre -Version 6.2.0
etwas mit v6.3.0
War ich vor dem gleichen Problem dies ist, wie ich das Problem gelöst,
Ich bin mit Visual Studio 2019 und folglich installierte ich die neueste Entity framework-6.3.0(stabil) ich Stand vor dem Problem, wenn ich den Enable-Migrationen Befehl, ich versuchte zu re-installieren Sie die Entity framework-aber es funktionierte nicht, also habe ich die alte version installiert 6.2.0 aus dem Nuget-Paket-Manager offenbar es stellte sich heraus arbeiten.
Ich hatte das gleiche problem und löste es, indem Sie die
Startup Project
.Ich habe 5 Projekt in der gleichen Projektmappe und jedes mal, wenn ich
Right Click
undSet as startup
zu einem nicht ASPNET-CORE-Projekt, bekomme ich diese Art von Fehler.Einige Jahre später...
Ein weiterer möglicher Grund für dieses Problem ist die VS 2017 csproj-format - oder besser gesagt, die PackageReference Ansatz im Gegensatz zu der Verwendung von Paketen.config.
Mit dem neuen Ansatz um Nuget Paketen über die PackageReference-format in Ihr Projekt-Dateien, die install-Skript von Entity Framework nicht ausgeführt wird (es ist eine bekannte Tatsache für diesen neuen Ansatz, einschließlich nuget-Pakete). Aufgrund dieser Tatsache, die PowerShell-Befehle sind nicht bereit für die Ausführung.
Gibt es eine laufende Diskussion zu diesem Thema auf die Entity Framework GitHub-repository.
Bis dieses Problem behoben ist (entweder durch das NuGet-Leute oder die EF-Leute), um für Migrationen zu führen (reden von EF-6 - nicht EF-Core!) Sie müssen stick, um die "alte" Art und Weise, einschließlich Nuget-Pakete mit dem packages.config Ansatz.
Überprüfen Sie Ihre Visual Studio-Einstellungen
Tools -> Options -> NuGet Package Manager -> General
und stellen Sie sicher, dassDefault package management format
eingestellt istPackages.config
.Beachten Sie, dass Sie müssen deinstallieren Sie alle Pakete, speichern Sie das Projekt, visual studio neu starten und danach re-installieren Sie alle Pakete, die beim einschalten diese Einstellung.
In der aktuellen Version von VS 2017 (ich glaube, von v-15.4 ab) es ist eine automatische Konvertierung von Paketen.config PackageReference, aber nicht Umgekehrt (leider).
Deinstallieren Entity Framework hat bei mir nicht funktioniert.
Es stellte sich heraus, dass es nicht
Visual Studio
oderEntity Framemwork
casuing das problem, aber es war die Tatsache, dass ich laufen warPowerShell 2
(aufWindows 7
).Entity Framework
undVisual Studio
erfordernPowerShell 3
.Nach dem update und Neustart, das Problem war Weg.
Das wird hoffentlich ein paar Leuten helfen.
Finden Sie PowerShell-hier -> https://www.microsoft.com/en-us/download/details.aspx?id=40855
In meinem Fall keine der oben genannten Lösungen gearbeitet, so hatte ich einen schnellen Blick in die Pakete.config-Datei und zu meiner überraschung fand zwei Einträge für Entity Framework
Beachten Sie, dass Sie sind verschiedene Versionen, nicht sicher, wie das könnte tatsächlich passieren. Sowieso, sobald ich entfernt, der ältere von den Paketen.config-Datei, also landete mit nur diesem einen:
Konnte ich dann Aktivieren-Migrationen ohne Probleme.
Ich Stand vor dem gleichen problem bei der Arbeit mit Code First-Migrationen.
Was für mich gearbeitet ist, gehen Sie auf NuGet-Paket-manager, dann Suche
Entity Framework
.Dort hatte ich die installiert, die
Pre-release version
, dann wählte ich dieLatest Stable version
und installiert es.Alles funktionierte perfekt danach.
Ab version 6.3, die Entity Framework Tools unterstützt die neue SDK-style-Projekt-format.
Jedoch, dieses Problem kann noch passieren, wenn das Projekt mit Ihren Migrationen verwendet die neue SDK-Stil-format, während das startup-Projekt ist mit der klassischen csproj-format.
Um dies zu beheben, machen beide Projekte verwenden die gleichen csproj-format.
ich hatte das gleiche problem, wenn ich aktualisiert, Entity Framework auf die version 6.3.0 also, wenn ich ging zurück zu 6.2.0 behoben das problem, also ich rate Ihnen, das gleiche zu tun
Stieß ich auf dieses Problem während der Aktualisierung auf EntityFramework "6.3.0" aus "6.2.0". Das Problem und die Problemumgehung finden Sie hier EF 6.3.0 PMC-Befehle werfen
ParameterBindingValidationException
als Startprojekt ist eine Web-App.Das problem entsteht, wenn Sie mehrere Projekte haben und Sie eine ASP.NET Projekt als Start-Projekt
Workaround vorgeschlagen, der link:
Persönliche Lösung:
Einstellung der Start-Projekt zu einem nicht ASP.NET Projekt das Problem in meinem Fall. Beachten Sie, dass Sie kopieren Sie die Verbindungszeichenfolgen für die relevanten Projekt-Konfigurationsdatei, wenn Sie Sie verwenden.