Ich habe gerade SSMS 18 GA auf einem Computer installiert, auf dem nur VS2019 installiert ist. Wenn ich versuche, SSMS zu öffnen, wird der Begrüßungsbildschirm angezeigt, der Vorgang wird jedoch beendet.
Wenn Sie ssms mit dem -log
Parameter ausführen , wird eine Fehlermeldung angezeigt :
CreateInstance für Paket [Task Scheduler Package] fehlgeschlagen. Quelle: 'mscorlib' Beschreibung: Datei oder Assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 15.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' oder eine der folgenden konnte nicht geladen werden seine Abhängigkeiten. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040) System.IO.FileLoadException: Datei oder Assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 15.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040) Dateiname: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 15.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a '---> System.IO.FileLoadException: Datei oder Assembly' Microsoft.VisualStudio.Shell.Interop.8.0, Version = 8.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a 'oder eine ihrer Abhängigkeiten konnte nicht geladen werden . Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040) Dateiname: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 8.0.0.0, Kultur = neutral, PublicKeyToken = b03f5f7f11d50a3a'
WRN: Die Protokollierung der Assemblybindung ist deaktiviert. Legen Sie den Registrierungswert [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) auf 1 fest, um die Fehlerprotokollierung für Assemblybindungen zu aktivieren. Entfernen Sie den Registrierungswert [HKLM \ Software \ Microsoft \ Fusion! EnableLog], um diese Funktion zu deaktivieren.
bei System.Reflection.RuntimeAssembly.GetType (RuntimeAssembly-Assembly, Zeichenfolgename, Boolescher throwOnError, Boolescher ignoreCase, ObjectHandleOnStack-Typ) bei System.Reflection.RuntimeAssembly.GetType (Zeichenfolgename, Boolescher throwOnError, Booleschrror, Booleschreiben von System ignorieren bei assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Sammelmappe, Object [] args, CultureInfo culture, Object [] activationAttributes, Evidence securityInfo, StackCrawlMark & stackMark) bei System.Activator.CreateInstance (String assemblyName, String typeName) bei System.A .CreateInstance (String assemblyName, String typeName)
System.IO.FileLoadException: Datei oder Assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 8.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040) Dateiname: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version = 8.0.0.0, Kultur = neutral, PublicKeyToken = b03f5f7f11d50a3a'
WRN: Die Protokollierung der Assemblybindung ist deaktiviert. Legen Sie den Registrierungswert [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) auf 1 fest, um die Fehlerprotokollierung für Assemblybindungen zu aktivieren. Entfernen Sie den Registrierungswert [HKLM \ Software \ Microsoft \ Fusion! EnableLog], um diese Funktion zu deaktivieren.
Ich habe versucht, "Repair" auf SSMS auszuführen und eine Reparatur von auszuführen C:\ProgramData\Package Cache\{AAA9F15B-AF45-4562-9991-93A848D3A902}v15.0.28307.421\redist\vs2017_isoshell_for_ssms.msi
, aber das Problem besteht weiterhin.
quelle
-log
Parameters generiert . ZB:"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe" -log C:\drop\log.txt
Antworten:
Ich habe gerade die Microsoft.VisualStudio.Shell.Interop.8.0.dll
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
mit der Kopie von überlagert..\PrivateAssemblies\Interop
und die IDE wird geöffnet. (Vielen Dank an Mitch für das Erkennen des fehlerhaften DLL-Namens.)Das sieht heute nach einer populären Frage und Antwort aus. Ich bin froh zu wissen, dass dies nicht nur ich war.
quelle
Microsoft.VisualStudio.Shell.Interop.8.0
Ordner zum Kopieren.Wie Ronan Ariely empfiehlt , wurde eine offizielle Lösung veröffentlicht, die das Entfernen einer Zeile aus empfiehlt
ssms.exe.config
.In
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe.config
:Wenn Sie meine vorherige Lösung zum Hinzufügen der Assembly zum GAC ausgeführt haben, sollten Sie sie wahrscheinlich deinstallieren, indem Sie Folgendes ausführen:
quelle
gacutil
sollte in Ordnung sein. Oder Sie verwenden könnenpowershell
, wenn Sie nicht installiert ist, eine Version des SDK.Dies ist ein bekanntes Problem, und es gibt eine neue offizielle Problemumgehung, die vom SSMS-Entwicklerteam veröffentlicht wurde.
Sie können das offene Ticket im Microsoft-Feedbacksystem unter folgendem Link anzeigen: https://feedback.azure.com/forums/908035-sql-server/suggestions/37502512-ssms2018-installed-but-will-not-run
Kurzgeschichte:
Die erste Problemumgehung, die vorgestellt wurde, war das Kopieren der Datei:
Microsoft.VisualStudio.Shell.Interop.8.0.dll
aus dem Verzeichnis:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PrivateAssemblies\Interop
in das Verzeichnis:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
Später wurde eine gezieltere Lösung veröffentlicht (was ich auch verwendet habe): Entfernen Sie einfach die Datei
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Platform\Microsoft.VisualStudio.MinShell.Interop.pkgdef
Jedenfalls hat das Team vor einigen Tagen ein Update veröffentlicht, wie Sie im obigen Link sehen können. Dies ist ein Zitat aus der offiziellen aktualisierten Antwort:
Hinweis! Der Speicherort der Datei ssms.exe.config befindet sich im Ordner:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE
quelle
Ich habe gerade dasselbe Problem auf einem neu erstellten Server 2016 mit SQL Server 2017 und SSMS 18.0 behoben, es verschwand jedoch nach zwei Neustarts, bei denen der Server mit den Betriebssystem-Patches vom März 2019 vollständig gepatcht wurde. Ich werde versuchen, weitere Tests durchzuführen, um herauszufinden, ob es wirklich die O / S-Patches waren, die dazu beigetragen haben, aber mir ist nichts anderes bekannt, das in der Zwischenzeit auf diesem Server installiert wurde.
Nach einem Neustart scheint es zufälliger zu sein, aber jetzt ist mir aufgefallen, dass SSMS direkt nach der Installation funktioniert. Dann beginnt SCCM in meiner Organisation mit der Installation verschiedener Dinge und SSMS funktioniert nicht mehr. Der Verdächtige ist jetzt ".NET Framework 3.5 Server Feature 2016"
quelle
Es gibt eine andere Lösung für dieses Problem. Für das Azure Feedback-Objekt SQL Server Management Studio 18 GA (15.0.18118.0), das nicht mit .NET Framework 4.8 kompatibel ist, schlägt Erich Signer Folgendes vor:
Gestützt auf einen Kommentar von omzig
quelle
Ich hatte das gleiche Problem und nachdem ich eine Weile nach diesem Problem gesucht hatte, fand ich den folgenden Artikel mit schrittweisen Anleitungen, der sich mit diesem Problem befasste:
Die Lösung lautet:
Die Schritte waren die folgenden:
PublicAssemblies\Microsoft.VisualStudio.Shell.Interop.8.0.dll
Datei in eine andere umbenannt, für den Fall, dass ich sie später benötige.Microsoft.VisualStudio.Shell.Interop.8.0.dll
Datei vonPrivateAssemblies\Interop
in denPublicAssemblies
Ordner.Nach dieser Änderung wurde das SSMS problemlos geladen.
quelle