Właśnie zainstalowałem SSMS 18 GA na komputerze z zainstalowanym tylko VS2019, a kiedy próbuję otworzyć SSMS, pojawi się ekran powitalny, ale wtedy proces się kończy.
Uruchomienie ssms z -log
parametrem ujawnia komunikat o błędzie:
Tworzenie pakietu nie powiodło się dla pakietu [Pakiet harmonogramu zadań] Źródło: „mscorlib” Opis: Nie można załadować pliku lub zestawu „Microsoft.VisualStudio.Shell.Interop.8.0, Wersja = 15.0.0.0, Kultura = neutralny, PublicKeyToken = b03f5f7f11d50a3a” lub jednego z jego zależności. Definicja manifestu zlokalizowanego zespołu nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040) System.IO.FileLoadException: Nie można załadować pliku lub zestawu „Microsoft.VisualStudio.Shell.Interop.8.0, Wersja = 15.0.0.0, Kultura = neutralna, PublicKeyToken = b03f5f7f11d50a3a” lub jednej z jej zależności. Definicja manifestu zlokalizowanego zespołu nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040) Nazwa pliku: „Microsoft.VisualStudio.Shell.Interop.8.0, wersja = 15.0.0.0, kultura = neutralna, PublicKeyToken = b03f5f7f11d50a3a „---> System.IO.FileLoadException: Nie można załadować pliku lub zestawu„ Microsoft.VisualStudio.Shell.Interop.8.0, Wersja = 8.0.0.0, Kultura = neutralny, PublicKeyToken = b03f5f7f11d50a3a ”lub jednej z jego zależności . Definicja manifestu zlokalizowanego zespołu nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040) Nazwa pliku: „Microsoft.VisualStudio.Shell.Interop.8.0, wersja = 8.0.0.0, kultura = neutralna, PublicKeyToken = b03f5f7f11d50a3a”
WRN: Rejestrowanie powiązania zestawu jest wyłączone. Aby włączyć rejestrowanie niepowodzenia powiązania zestawu, ustaw wartość rejestru [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) na 1. Uwaga: Z rejestrowaniem niepowodzenia powiązania zestawu wiąże się pewna utrata wydajności. Aby wyłączyć tę funkcję, usuń wartość rejestru [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
w System.Reflection.RuntimeAssembly.GetType (zestaw RuntimeAssembly, nazwa ciągu, typ logiczny throwOnError, typ logiczny ignoreCase, ObjectHandleOnStack) w System.Reflection.RuntimeAssembly.GetType (nazwa łańcuchowa, Boolean throwOnError, Boolean System ignoruje. assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] aktywacjaAtrybuty, Dowody securityInfo, StackCrawlMark & stackMark) w System.Activator.CreateInstance (nazwa zestawu String, nazwa typu ciągu) .CreateInstance (String stringName, String typeName)
System.IO.FileLoadException: Nie można załadować pliku lub zestawu „Microsoft.VisualStudio.Shell.Interop.8.0, Wersja = 8.0.0.0, Kultura = neutralna, PublicKeyToken = b03f5f7f11d50a3a” lub jednej z jej zależności. Definicja manifestu zlokalizowanego zespołu nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040) Nazwa pliku: „Microsoft.VisualStudio.Shell.Interop.8.0, wersja = 8.0.0.0, kultura = neutralna, PublicKeyToken = b03f5f7f11d50a3a”
WRN: Rejestrowanie powiązania zestawu jest wyłączone. Aby włączyć rejestrowanie niepowodzenia powiązania zestawu, ustaw wartość rejestru [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) na 1. Uwaga: Z rejestrowaniem niepowodzenia powiązania zestawu wiąże się pewna utrata wydajności. Aby wyłączyć tę funkcję, usuń wartość rejestru [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Próbowałem uruchomić „Napraw” w SSMS i próbowałem naprawić C:\ProgramData\Package Cache\{AAA9F15B-AF45-4562-9991-93A848D3A902}v15.0.28307.421\redist\vs2017_isoshell_for_ssms.msi
, ale problem nadal występuje.
źródło
-log
parametru. Np .:"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe" -log C:\drop\log.txt
Odpowiedzi:
Właśnie nałożyłem Microsoft.VisualStudio.Shell.Interop.8.0.dll
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
na kopię z..\PrivateAssemblies\Interop
i IDE otwiera się. (Podziękowania dla Mitcha za wykrycie obrażającej nazwy DLL).To dziś wygląda na popularne pytanie i odpowiedź, więc cieszę się, że to nie tylko ja.
źródło
Microsoft.VisualStudio.Shell.Interop.8.0
folder do skopiowania.Jak zaleca Ronan Ariely , opublikowano oficjalne rozwiązanie, które zaleca usunięcie linii z
ssms.exe.config
.W
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe.config
:Jeśli uruchomiłeś moje poprzednie rozwiązanie dodawania zestawu do GAC, prawdopodobnie powinieneś go odinstalować, uruchamiając:
źródło
gacutil
powinna być w porządku. Lub możesz użyć,powershell
jeśli nie masz zainstalowanej wersji zestawu SDK.Jest to znany problem i pojawiło się nowe oficjalne obejście opublikowane przez zespół programistów SSMS.
Możesz zobaczyć otwarty bilet w systemie Microsoft Feedback w następującym linku: https://feedback.azure.com/forums/908035-sql-server/suggestions/37502512-ssms2018-installed-but-will-not-run
Krótka historia:
Pierwszym obejściem tego problemu było skopiowanie pliku:
Microsoft.VisualStudio.Shell.Interop.8.0.dll
z katalogu:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PrivateAssemblies\Interop
do katalogu:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
Później opublikowano bardziej ukierunkowane rozwiązanie (tego właśnie użyłem): po prostu usuń plik
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Platform\Microsoft.VisualStudio.MinShell.Interop.pkgdef
W każdym razie kilka dni temu zespół opublikował aktualizację, jak widać w powyższym linku. Oto cytat z oficjalnej zaktualizowanej odpowiedzi:
Uwaga! lokalizacja pliku ssms.exe.config znajduje się w folderze:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE
źródło
Właśnie rozwiązałem ten sam problem na świeżo zbudowanym serwerze 2016 z SQL Server 2017 i SSMS 18.0, jednak zniknął po 2 ponownych uruchomieniach, podczas których serwer został w pełni załatany łatami O / S z marca 2019 r. Spróbuję wykonać więcej testów, aby dowiedzieć się, czy to naprawdę łatki O / S pomagają w tym, ale nie jestem świadomy niczego innego instalowanego w międzyczasie na tym serwerze.
Wydaje się bardziej losowy po ponownym uruchomieniu, ale zauważyłem, że SSMS działa zaraz po instalacji, ale potem SCCM w mojej organizacji zaczyna instalować różne rzeczy i SSMS przestaje działać. Teraz podejrzanym jest „.NET Framework 3.5 Server Feature 2016”
źródło
Istnieje inne rozwiązanie tego problemu. Na Azure Feedback pozycja SQL Server Management Studio 18 GA (15.0.18118.0) niezgodna z .NET Framework 4.8 Erich Signer sugeruje:
Na podstawie komentarza pierwotnie pozostawionego przez omzig
źródło
Napotkałem ten sam problem i po chwili poszukiwania tego problemu znalazłem następujący artykuł krok po kroku dotyczący tego problemu:
Dostarczone rozwiązanie to:
Kroki były następujące:
PublicAssemblies\Microsoft.VisualStudio.Shell.Interop.8.0.dll
na coś innego, na wypadek, gdyby później potrzebowałem tego pliku.Microsoft.VisualStudio.Shell.Interop.8.0.dll
plikPrivateAssemblies\Interop
doPublicAssemblies
folderu.Po tej zmianie SSMS został załadowany bez żadnych problemów.
źródło