Saya baru saja menginstal SSMS 18 GA pada komputer dengan hanya VS2019 yang diinstal, dan ketika saya mencoba membuka SSMS layar splash akan muncul, tetapi kemudian proses keluar.
Menjalankan ssms dengan -log
parameter akan menampilkan pesan kesalahan:
CreateInstance gagal untuk paket [Paket Penjadwal Tugas] Sumber: 'mscorlib' Keterangan: Tidak dapat memuat file atau rakitan 'Microsoft.VisualStudio.Shell.Interop.8.0, Versi = 15.0.0.0, Budaya = netral, PublicKeyToken = b03f5f7f11d50a3a' atau salah satu dari ketergantungannya. Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040) System.IO.FileLoadException: Tidak dapat memuat file atau rakitan 'Microsoft.VisualStudio.Shell.Interop.8.0, Versi = 15.0.0.0, Budaya = netral, PublicKeyToken = b03f5f7f11d50a3a' atau salah satu dari dependensinya. Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040) Nama file: 'Microsoft.VisualStudio.Shell.Interop.8.0, Versi = 15.0.0.0, Budaya = netral, PublicKeyToken = b03f5f7f11d50a3a '---> System.IO.FileLoadException: Tidak dapat memuat file atau rakitan' Microsoft.VisualStudio.Shell.Interop.8.0, Versi = 8.0.0.0, Budaya = netral, PublicKeyToken = b03f5f7f11d50a3a atau salah satu dependensinya . Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040) Nama file: 'Microsoft.VisualStudio.Shell.Interop.8.0, Versi = 8.0.0.0, Budaya = netral, PublicKeyToken = b03f5f7f11d50a3a'
WRN: logging yang mengikat perakitan dimatikan. Untuk mengaktifkan logging kegagalan ikatan bind, atur nilai registri [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) ke 1. Catatan: Ada beberapa penalti kinerja yang terkait dengan logging kegagalan bind rakitan. Untuk mematikan fitur ini, hapus nilai registri [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
di System.Reflection.RuntimeAssembly.Tertarik Ketik (RuntimeAssembly assembly, nama String, Boolean throwOnError, Boolean diabaikanCase, ObjectHandleOnStack type) di System.Reflection.RuntimeAssembly.GetType (nama String, Boolean throwOnCo assemblyString, String typeName, Boolean diabaikanCase, BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] aktivasiAttributes, Evidence securityInfo, StackCrawlMark & stackMark) di System.Activator.CreateInstance (String assemblyName, String nameName, String nameName), .CiptakanateInstance (String assemblyName, String typeName)
System.IO.FileLoadException: Tidak dapat memuat file atau rakitan 'Microsoft.VisualStudio.Shell.Interop.8.0, Versi = 8.0.0.0, Budaya = netral, PublicKeyToken = b03f5f7f11d50a3a' atau salah satu dari ketergantungannya. Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040) Nama file: 'Microsoft.VisualStudio.Shell.Interop.8.0, Versi = 8.0.0.0, Budaya = netral, PublicKeyToken = b03f5f7f11d50a3a'
WRN: logging yang mengikat perakitan dimatikan. Untuk mengaktifkan logging kegagalan ikatan bind, atur nilai registri [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) ke 1. Catatan: Ada beberapa penalti kinerja yang terkait dengan logging kegagalan bind rakitan. Untuk mematikan fitur ini, hapus nilai registri [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Saya mencoba menjalankan "Perbaikan" pada SSMS, dan mencoba perbaikan C:\ProgramData\Package Cache\{AAA9F15B-AF45-4562-9991-93A848D3A902}v15.0.28307.421\redist\vs2017_isoshell_for_ssms.msi
, tetapi masalahnya tetap ada.
sumber
-log
parameter. Contoh:"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe" -log C:\drop\log.txt
Jawaban:
Saya hanya overlay Microsoft.VisualStudio.Shell.Interop.8.0.dll
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
dengan salinan dari..\PrivateAssemblies\Interop
dan IDE terbuka. (Terima kasih kepada Mitch untuk menemukan nama DLL yang menyinggung.)Ini terlihat seperti tanya jawab populer hari ini, jadi saya senang mengetahui ini bukan hanya saya.
sumber
Microsoft.VisualStudio.Shell.Interop.8.0
folder tambahan untuk disalin.Seperti yang direkomendasikan Ronan Ariely , solusi resmi telah diterbitkan yang merekomendasikan untuk menghapus batas
ssms.exe.config
.Di
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe.config
:Jika Anda menjalankan solusi saya sebelumnya untuk menambahkan unit ke GAC, Anda mungkin harus menghapus instalannya dengan menjalankan:
sumber
gacutil
apa pun harus baik-baik saja. Atau Anda dapat menggunakanpowershell
jika Anda tidak memiliki versi SDK yang diinstal.Ini adalah masalah yang diketahui dan ada solusi resmi baru yang diterbitkan oleh tim pengembang SSMS.
Anda dapat melihat tiket terbuka di sistem umpan balik Microsoft di tautan berikut: https://feedback.azure.com/forums/908035-sql-server/suggestions/37502512-ssms2018-installed-but-will-not-run
Sejarah singkat:
Solusi pertama yang disajikan adalah menyalin file:
Microsoft.VisualStudio.Shell.Interop.8.0.dll
dari direktori:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PrivateAssemblies\Interop
ke dalam direktori:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies
Kemudian, solusi yang lebih fokus diterbitkan (yang saya gunakan): Cukup hapus file
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Platform\Microsoft.VisualStudio.MinShell.Interop.pkgdef
Bagaimanapun, beberapa hari yang lalu tim mempublikasikan pembaruan seperti yang Anda lihat di tautan di atas. Ini adalah kutipan dari tanggapan resmi yang diperbarui:
Catatan! lokasi file ssms.exe.config ada di folder:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE
sumber
Saya baru saja melewati masalah yang sama pada Server 2016 yang baru dibangun dengan SQL Server 2017 & SSMS 18.0, namun hilang setelah 2 reboot dimana server sepenuhnya ditambal dengan patch 2019 O / S Maret. Saya akan mencoba melakukan beberapa pengujian lebih lanjut untuk mencari tahu apakah itu benar-benar patch O / S yang membantu ini, tapi saya tidak tahu apa-apa menginstal sementara itu di server itu.
Tampaknya lebih acak setelah reboot, tetapi apa yang saya perhatikan sekarang adalah bahwa SSMS berfungsi setelah menginstal, tetapi kemudian SCCM dalam org saya mulai menginstal berbagai hal dan SSMS berhenti bekerja. Sekarang tersangka adalah ".NET Framework 3.5 Server Feature 2016"
sumber
Ada solusi lain untuk masalah ini. Pada item Umpan Balik Azure SQL Server Management Studio 18 GA (15.0.18118.0) tidak kompatibel dengan .NET Framework 4.8 Erich Signer menyarankan:
Berdasarkan komentar yang awalnya ditinggalkan oleh omzig
sumber
Saya menghadapi masalah yang sama dan setelah mencari beberapa saat untuk masalah ini, saya menemukan artikel selangkah demi selangkah menangani masalah ini:
Solusi yang diberikan adalah:
Langkah-langkahnya adalah sebagai berikut:
PublicAssemblies\Microsoft.VisualStudio.Shell.Interop.8.0.dll
menjadi sesuatu yang lain, kalau-kalau saya perlu file itu nanti.Microsoft.VisualStudio.Shell.Interop.8.0.dll
file dariPrivateAssemblies\Interop
dalamPublicAssemblies
folder.Setelah perubahan ini, SSMS dimuat tanpa masalah.
sumber