Wenn ich versuche, den Befehl "update-database" auszuführen, wird folgende Ausnahme angezeigt:
Geben Sie das Flag '-Verbose' an, um die SQL-Anweisungen anzuzeigen, die auf die Zieldatenbank angewendet werden. System.IO.FileNotFoundException: Datei oder Assembly 'Microsoft.Build.Framework, Version = 15.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die angegebene Datei wurde vom System nicht gefunden. Dateiname: 'Microsoft.Build.Framework, Version = 15.1.0.0, Kultur = neutral, PublicKeyToken = b03f5f7f11d50a3a'
WRN: Die Protokollierung der Baugruppenbindung ist deaktiviert. Setzen Sie den Registrierungswert [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) auf 1, um die Protokollierung von Assemblybindungsfehlern zu aktivieren. Hinweis: Mit der Protokollierung von Assemblybindungsfehlern sind einige Leistungseinbußen verbunden. Entfernen Sie den Registrierungswert [HKLM \ Software \ Microsoft \ Fusion! EnableLog], um diese Funktion zu deaktivieren.
Datei oder Assembly 'Microsoft.Build.Framework, Version = 15.1.0.0, Kultur = neutral, PublicKeyToken = b03f5f7f11d50a3a' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Das System kann die angegebene Datei nicht finden. "
quelle
Antworten:
Ich glaube, ich hatte das gleiche Problem wie Sie. Ich habe nicht die gesamte Fehlermeldung gespeichert, aber meine Fehlermeldung war
Ich bin mit Visual Studio 2017 und versuche , zu tun
Update-Database
nachAdd-Migration
.Um das Problem zu beheben, habe ich Visual Studio geschlossen und erneut geöffnet und dann
Update-Database
erneut ausgeführt.Dies kann Ihr Problem lösen oder auch nicht, aber ich dachte, ich würde nur für den Fall posten, dass es helfen würde.
quelle
Unser lokales Build-Skript verwendete eine ältere Version von
nuget.exe
(4.7.1.5393
), um NuGet-Pakete wiederherzustellen. Wir haben diesen Fehler nach dem Update auf die Visual Studio 2019-Version erhalten16.5.0
. Das Update auf die neueste Version vonnuget.exe
(5.4.0.6315
) hat das Problem für uns behoben.nuget.exe
kann hier heruntergeladen werden: https://www.nuget.org/downloads .quelle
NuGetToolInstaller@0
auf gelöstNuGetToolInstaller@1
, auch ohne Angabe einer neueren Version. Ich bin mir jedoch nicht sicher, ob dies die Hauptursache des Problems behebt oder ob das Update nur ein Nebeneffekt beim Löschen des lokalen Caches ist.Die Hauptursache für dieses Problem liegt in den relativen Pfaden in der
devenv.exe.config
Datei zuMicrosoft.Build.Framework.dll
(siehe XML-Tags).Einige Visual Studio-Erweiterungen ändern das aktuelle Verzeichnis und machen relative Pfade ungültig.
Öffnen Sie diese Datei im
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\
Verzeichnis . und ersetzen Sie alle..\..\MSBuild\15.0\Bin\
durchC:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\
.quelle
Ich habe eine Problemumgehung gefunden, die das Problem endgültig zu lösen scheint, zumindest in meiner Umgebung, in der VS 2017 Professional 15.5.2 und Entity Framework 6.1.1 ausgeführt werden.
Grundsätzlich installieren Sie die DLL (mit einigen verwandten) im GAC (Global Assembly Cache), und das Problem wird behoben.
Folge diesen Schritten:
Schließen Sie alle laufenden Instanzen von Visual Studio 2017
Starten Sie die Eingabeaufforderung für Visual Studio 2017 Developer
Geben Sie die folgenden Befehle ein (ersetzen Sie Professional durch Ihre Edition, entweder Enterprise oder Community, oder passen Sie den Pfad entsprechend an):
Im Wesentlichen erhält der GAC (in den meisten Fällen) Priorität, wenn .NET versucht, eine DLL zu laden, und die FileNotFoundException verschwindet, da Ihre DLL jetzt über den GAC aufgelöst wird.
Auch hier funktioniert es für mich und es ist einfach eine Problemumgehung. Es wird das Kernproblem selbst nicht lösen, aber zumindest muss ich VS nicht ständig neu starten, wenn ich versuche, mit EF-Migrationen zu arbeiten, und das ist gut genug für mich.
quelle
Dies hat bei mir funktioniert - scheint ab 2020 ein nicht unterstützendes Problem zu sein.
Wechseln Sie im Schritt
Azure Build Pipeline
> zu einer neueren Version, z . Überprüfen Sie die Versionen unter https://dist.nuget.org/tools.jsonNuGet tool installer
Version of NuGet.exe to install
5.4.0
.Das Problem ist verschwunden und wird nun erfolgreich erstellt.
quelle
Meine fehlende Datei oder Assembly-Version unterscheidet sich bei der Frage.
Ich habe diesen Fehler, als ich versuchte, mein ASP.net-Projekt zu veröffentlichen
Ich habe das Problem durch die Installation von Microsoft Build Tools 2015 gelöst
Ich denke, mein Problem wurde dadurch verursacht, dass ich ein Projekt veröffentliche, das mit VS 2015 in VS 2017 erstellt wurde. Hope kann anderen helfen, die das gleiche Problem haben.
quelle
Nur für den Fall, dass ein Neustart von Visual Studio nicht funktioniert Wechseln Sie zu Task-Manager / Prozess-Explorer und zu VBCSCompiler.exe
Schlagen Sie die Verwendung des Prozess-Explorers vor
quelle
Das Schließen und erneute Öffnen von Visual Studio funktioniert wie ein Zauber!
quelle
Dies hat bei mir funktioniert: Der Fehler tritt auf, wenn ich den Befehl nuget restore ausführe. Nuget Version 4.6.2. Ich habe zwei Möglichkeiten, um dieses Problem zu lösen.
Verwenden Sie Nuget 4.8.2 und höher. gacutil / i "C: \ Programme (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ Microsoft.Build.Framework.dll
quelle
Wir hatten dieses Problem, und hier ist, was wir in unserem Fall tun mussten:
Das Problem war, dass wir einen Datenbankbefehls-Interceptor
(IDbCommandInterceptor)
konfiguriert hatten, derHttpRuntime.Cache["somekey"
] aufrief , und aus irgendeinem Grund Migrationsbefehle aus diesem Grund nicht ausgeführt werden konnten. Nachdem diese Abhängigkeit beseitigt wurde, liefen alle Befehle perfekt. VielleichtHttpRuntime
konnten Sie die Build Framework-DLL nicht finden?Überprüfen Sie daher den gesamten Callstack, wenn Migrationsbefehle nicht feststellen können, ob Sie ein ähnliches Problem haben.
quelle
In meinem Fall hat etwas (möglicherweise ein NuGet-Update) eine AssemblyBinding in die web.config-Datei eingefügt:
Nachdem ich diesen abhängigen Assemby-Eintrag entfernt hatte, konnte ich das Projekt erneut veröffentlichen.
quelle
Vielen Dank an diejenigen, die bereits gepostet haben. Meine Situation wurde durch eine Kombination der oben genannten gelöst. Ich hatte mehrere Versionen von Visual Studio: 2015, 2017, 2019. Irgendwann ging die Version von MSBUILD von 15.1 auf 15.9. Ich habe dieses Problem behoben, indem ich die Datei C: \ Programme (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ devenv.exe.config so aktualisiert habe, dass sie auf die Bibliothek 15.9 verweist. Hier ist ein Beispiel für einen der Einträge:
quelle
Ich habe das gleiche Problem beim Aktualisieren von XCode / Mono-Komponenten unter macOS.
Die Lösung besteht darin, Visual Studio für Mac auf die neueste Version zu aktualisieren.
Ich denke, dieses Problem liegt in der Verwendung neuer MSBuild-Tools aus dem .NET Core 3.0-Paket, das mit der neuen XCode / Mono-Version installiert wurde.
quelle