2

I've recently installed SQL Server 2017 Express and SSMS v18.0 on my home computer (Windows 10) and at first this worked fine. However, after a reboot, SSMS flat out refuses to start. No error message, nothing in the Event Viewer (as far as I can tell), just the splash screen, an audible tone and then ... nothing. I've checked in the Task Manager to see if there's a lingering process locking something but couldn't see anything there.

I had this exact same problem about a week ago. I uninstalled and re-installed SSMS and that fixed it (the regular 'repair' option in the SSMS setup did nothing), but that doesn't seem a viable way to run SSMS.

So any idea about what's going on? I know information here is pretty thin, so any idea on where I can look for log/error files?

EDIT: Comment by @SeanGallardy gave me logging. The error message:

  <entry>
    <record>111</record>
    <time>2019/05/20 19:37:30.130</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>CreateInstance failed for package [Task Scheduler Package]Source: 'mscorlib' Description: 
    Could not load file or assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)&#x000D;&#x000A;System.IO.FileLoadException: 
    Could not load file or assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)&#x000D;&#x000A;File name: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ---> System.IO.FileLoadException: 
    Could not load file or assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)&#x000D;&#x000A;File name: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'&#x000D;&#x000A;&#x000D;&#x000A;WRN: Assembly binding logging is turned OFF.&#x000D;&#x000A;To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.&#x000D;&#x000A;Note: There is some performance penalty associated with assembly bind failure logging.&#x000D;&#x000A;To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].&#x000D;&#x000A;&#x000D;&#x000A;   
    at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)&#x000D;&#x000A;   
    at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)&#x000D;&#x000A;   
    at System.Activator.CreateInstance(String assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark&amp; stackMark)&#x000D;&#x000A;   
    at System.Activator.CreateInstance(String assemblyName, String typeName)&#x000D;&#x000A;   
    at System.AppDomain.CreateInstance(String assemblyName, String typeName)&#x000D;&#x000A;&#x000D;&#x000A;System.IO.FileLoadException: 
    Could not load file or assembly 'Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)&#x000D;&#x000A;File name: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'&#x000D;&#x000A;&#x000D;&#x000A;WRN: Assembly binding logging is turned OFF.&#x000D;&#x000A;To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.&#x000D;&#x000A;Note: There is some performance penalty associated with assembly bind failure logging.&#x000D;&#x000A;To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].&#x000D;&#x000A;
</description>
    <guid>{00CD9DDA-7350-457C-A240-71BD667FC4DE}</guid>
    <hr>80004005 - E_FAIL</hr>
  </entry>
0

2 Answers 2

1

This has been answered elsewhere on DBA.se - Check this answer out - basically, you just need to copy Microsoft.VisualStudio.Shell.Interop.8.0.dll from

C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PrivateAssemblies\Interop

into

C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies

then SSMS should start behaving.

0
2

The official solution has been given here It involves editing the Ssms.exe.config file. To be specific:

The recommended workaround, in the interim, is: 1) Close all instances of SSMS

2) Edit ssms.exe.config

3) Remove the line that has the following text (should be line 38): NgenBind_OptimizeNonGacenabled=“1”

Not the answer you're looking for? Browse other questions tagged or ask your own question.