2022 Developer Survey is open! Take survey.
1 of 3
Mitch
  • 2.6k
  • 2
  • 16
  • 23

The correct (15.0.0.0) version of the assembly in question is present in C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PrivateAssemblies\Interop as compared to C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies.

Registering the former in the GAC does solve the problem, but I am fairly certain this is not an appropriate solution since nothing else seems to be GAC'd.

In an administrator command prompt:

SET PATH=%PATH%;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\
CD C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PrivateAssemblies\Interop
gacutil /i Microsoft.VisualStudio.Shell.Interop.8.0.dll

After registering the assembly in the GAC, SSMS starts and operates normally. Fingers crossed that I don't come to regret this solution to the problem...

Mitch
  • 2.6k
  • 2
  • 16
  • 23