I'm using VS 2017 Professional and have created a setup project for locally deploying one of my C++ solutions. When I right-click on "Primary output from {project}" and select Properties I get the following error:
In ActivityLog.xml we get:
CreateInstance failed for package [InstallerProjectsPackage]Source: 'mscorlib' Description: Could not load file or assembly 'Microsoft.VisualStudio.Shell.15.0, Version=16.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.15.0, Version=16.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.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'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) 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].
After this, the Properties panel seems to display just fine. So I have two questions:
First: is this something I should worry about, or is it basically meaningless in this case?
Second: if yes, how do I fix it? I've already tried clearing the ComponentModelCache folder, executing >devenv /clearcache
and devenv /updateconfiguration
, performing a repair on VS 2017, deleting the .vs folder for the project, and adding what looks to be the affected dll (and a few that seem unrelated) to the GAC with gacutil. Is there anything else I might reasonably try?
And a side question: I accidentally clicked "Yes" to dismiss that dialog box last time it popped up. How do I undo that?