SQL Server Management Studio 18 GA (15.0.18118.0) not compatible with .NET Framework 4.8
Windows 10 1903 - SSMS 18 does not start.
Windows Server with .NET Framework 4.8 - SSMS 18 does not start.
AppData\Roaming\Microsoft\AppEnv\15.0\ActivityLog.xml:
...Could not load file or assembly <Microsoft.VisualStudio.Shell.Interop.8.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a>...

17 comments
-
Josef commented
Erich's step 1 solved my issue. Thank you.
-
Anonymous commented
Erich's step 1 alone solves for me, running Windows 10 1809. Only SSMS installed here, not the server itself.
-
Maurice commented
Step 1 worked for me, thanks
-
walter commented
I have done step 1 and 2 - still not working for me.
-
Omzig commented
I have noticed that you do not have to rename the PKGDEF file if you already have a FULL install of SQL Server installed, this only happened to me when i installed it as a standalone.
-
Milan Parekh commented
@Erich Signer : Thanks Using step1 issue was resolved.
-
Manish Jain commented
I'm also having the same issue even if I've 4.7.2 installed on my system.
-
TS commented
@Erich Signer. Your suggestion in step 1 resolved my issue. I have not done step 2. Question: Is step 2 required, or is step 1 a sufficient fix. I can remove the HKEY_CURRENT file if needed, but I just wanted to make sure it was needed before I started deleting additional files. Thanks again for your solution!
-
Anonymous commented
Thanks a bunch!!!
-
Sigurdur Eggertsson commented
@Erich Signer - I did only Step 1 and now SSMS starts for me.
-
Sigurdur Eggertsson commented
Having this issue too. SSMS 18 did not start after first install. Removed and installed again and it worked. But now I'm unable to start it again.
Running a new machine with only VS2019 and SSMS 18
-
Erich Signer commented
Found a way to fix this issue without copying any DLLs.
Step 1:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Platform\Microsoft.VisualStudio.MinShell.Interop.pkgdef
Rename and make sure this file does not have the ".pkgdef" extension anymore. Or remove the file.
Step 2:
Remove the following Registry Key (which is created at SSMS 18 Startup using the ".pkgdef" file mentioned above):
HKEY_CURRENT_USER\SOFTWARE\Microsoft\SQL Server Management Studio\18.0_IsoShell_Config\RuntimeConfiguration\dependentAssembly\bindingRedirection\{8BC7AF31-B6DA-4B97-8B36-F0500DECB147}
From now on SSMS 18 will start.
-
Glenn Burnett commented
Thanks Erich for the update and file copy info. My installation worked once and then broke again; this seems to have fixed it.
-
Erich Signer commented
SOLVED!
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\PublicAssemblies>copy ..\PrivateAssemblies\Interop\Microsoft.VisualStudio.Shell.Interop.8.0.dll .
Overwrite .\Microsoft.VisualStudio.Shell.Interop.8.0.dll? (Yes/No/All): y
1 file(s) copied.
and BOOM it works. The version of the file in PrivateAssemblies\Interop is 15.0.0.0, the version of the file in PublicAssemblies is 8.0.0.0. According to ActivityLog.xml it fails to load the one in PublicAssemblies. -
Glenn Burnett commented
My original installations on 2019-04-24 completed in just a few minutes on each machine. The "worked for three days" comment was intended to mean that SSMS worked well for several days after the installation. Today (2019-04-29) both installations would show the splash screen for a second and then close. Un-installing and re-installing has resolved for now. Have you tried un-installing and re-installing?
Below is a "AppData\Roaming\Microsoft\AppEnv\15.0\ActivityLog.xml" log entry from a failed launch attempt before removal and re-installation:
<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)
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)
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)
File name: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

 at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
 at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
 at System.Activator.CreateInstance(String assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
 at System.Activator.CreateInstance(String assemblyName, String typeName)
 at System.AppDomain.CreateInstance(String assemblyName, String typeName)

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)
File name: 'Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
</description>
<guid>{00CD9DDA-7350-457C-A240-71BD667FC4DE}</guid>
<hr>80004005 - E_FAIL</hr> -
Erich Signer commented
Here the installation itself worked like a charm. But after that impossible to start SSMS 18, the Splash Screen shows up and then it closes again. With the same entry in the ActivityLog.xml over and over again. Maybe there is an issue with the Visual C++ 2015-2019 Redistributable as well? I use the very latest from Visual Studio 2019 RTM.
-
Glenn Burnett commented
I had a very similar issue on two different machines, but it was with .NET Framework 4.7.2. Also, the SSMS installations worked for three days, then stopped working on both machines. Un-installing and then re-installing has resolved the issue for now. Not sure what the source of the problem is or if it will return.