belkiss / niftyplugins

Simple Perforce integration for Visual Studio 2017 to 2022
MIT License
24 stars 4 forks source link

Issue on load of recent dev build #9

Closed llatta closed 2 years ago

llatta commented 3 years ago

Tried to run build 42 (https://github.com/belkiss/niftyplugins/actions/runs/974528880) on a machine with VS 2019 16.10.3 (and VS 2017). It installed fine but got a message box on VS 2019 start that the extension failed to load and I should look at the ActivityLog.xml. The relevant error there is pasted below, looks like a missing dependency to install, or it depends on some other VS version's Shell?

I rolled back to the last real release for now, so no urgency on fixing this.

  <entry>
    <record>2684</record>
    <time>2021/07/14 00:18:51.822</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [NiftyPerforcePackage]</description>
    <guid>{47A20418-F762-4CE9-A34D-A8C96611A172}</guid>
  </entry>
  <entry>
    <record>2685</record>
    <time>2021/07/14 00:18:51.830</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>CreateInstance failed for package [NiftyPerforcePackage]Source: &apos;mscorlib&apos; Description: Could not load file or assembly &apos;Microsoft.VisualStudio.Shell.15.0, Version=17.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&apos; or one of its dependencies. The system cannot find the file specified.&#x000D;&#x000A;System.IO.FileNotFoundException: Could not load file or assembly &apos;Microsoft.VisualStudio.Shell.15.0, Version=17.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&apos; or one of its dependencies. The system cannot find the file specified.&#x000D;&#x000A;File name: &apos;Microsoft.VisualStudio.Shell.15.0, Version=17.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&apos;&#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.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)&#x000D;&#x000A;   at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName)&#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>{47A20418-F762-4CE9-A34D-A8C96611A172}</guid>
    <hr>80004005 - E_FAIL</hr>
    <errorinfo></errorinfo>
  </entry>
belkiss commented 3 years ago

Heya!

Sorry for the inconvenience, this was caused by this commit which added support for vs2022: https://github.com/belkiss/niftyplugins/commit/8e36bd25232e15a7d8b91482584ffb4a0981425f, in fact it seems it made Nify only support vs2022 :( I have a fix locally, I'll leave the issue opened until I've pushed it and made a release :)

Thanks for the report!

belkiss commented 2 years ago

Fixed with the release of version 3.0.0. Use the vsix called NiftyPerforceLegacy.vsix with vs2017/vs2019, and NiftyPerforce.vsix for vs2022 :)