Visual Studio 2015无法加载包,因为Microsoft.VisualStudio.Shell.15.0无法加载

Visual Studio 2015无法加载包,因为Microsoft.VisualStudio.Shell.15.0无法加载

问题描述:

我已经为Visual Studio 2015和2017构建了Visual Studio扩展。我在2017年开发了它,并且在2017年一切正常。Visual Studio 2015无法加载包,因为Microsoft.VisualStudio.Shell.15.0无法加载

当我在VS 2015上安装它时,我收到一条错误消息,说它无法加载我的包。在视觉工作室ActivityLog.xml文件中,我看到以下错误。

如何启用VS 2015和2017运行扩展?

CreateInstance failed for package [MainWindowPackage] 
Source: 'mscorlib' 
Description: Could not load file or assembly 'Microsoft.VisualStudio.Shell.15.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.Shell.15.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 

File name: 'Microsoft.VisualStudio.Shell.15.0, Version=15.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.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo) at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName) 

根据错误消息,您的扩展依赖于Microsoft.VisualStudio.Shell.15.0,它是VS 2017程序集。因此,它不包含在你的VS 2015

如果你希望你的扩展支持的Visual Studio的多个版本,你需要让你的VSPackage的使用仅是你支持的Visual Studio的最早版本的功能和编程您的VSPackage以适应它所运行的Visual Studio版本。你可以阅读这个文件:https://docs.microsoft.com/en-us/visualstudio/extensibility/choosing-between-shared-and-versioned-vspackages

而且你也可以参考文档Supporting Multiple Versions of Visual Studio

自定义安装路径是“C:\ Users \ UserName \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ Extensions \”。请检查您的扩展路径以确保安装了Microsoft.VisualStudio.Shell.15.0。

您应该引用Microsoft.VisualStudio.Shell。 .0和您的扩展中VS 2015的其他程序集,以支持VS 2015/2017。