Add in VS2013加载到VS2015 VSPackage中:如何创建ToolWindow2

Add in VS2013加载到VS2015 VSPackage中:如何创建ToolWindow2,add-in,vsix,vspackage,Add In,Vsix,Vspackage,有谁能指导我如何将外接程序转换为VSPackage Extension,而不将所有内容重新创建/复制到VSIX中 我有一个插件支持VS2010到VS2013。我什么都有。sln。我想将.addin迁移/创建到.vsix中,以解决VS2015的兼容性问题。经过几次研究,我发现IDTCommandTarget.Exec方法中编写的代码必须运行到我的vsix项目的自定义命令类中 因此,我在同一个解决方案中创建了一个新的.vsix项目&将我的.addin项目的引用添加到.vsix项目中,并且我能够加载我

有谁能指导我如何将外接程序转换为VSPackage Extension,而不将所有内容重新创建/复制到VSIX中

我有一个插件支持VS2010到VS2013。我什么都有。sln。我想将.addin迁移/创建到.vsix中,以解决VS2015的兼容性问题。经过几次研究,我发现IDTCommandTarget.Exec方法中编写的代码必须运行到我的vsix项目的自定义命令类中

因此,我在同一个解决方案中创建了一个新的.vsix项目&将我的.addin项目的引用添加到.vsix项目中,并且我能够加载我的addin项目的初始控件,如下所示

但是根据代码,我想双击我的树节点创建CreateToolWindow2,但是我得到了以下错误(null AddInInstance)


有人能告诉我如何创建AddIn类的实例来创建ToolWindow2吗?

这不是很好的方法。创建.VSIX项目,然后添加自定义命令,并将旧加载项的Exec方法中的代码/逻辑添加到自定义命令MenuItemCallback方法中

注意,您不再需要以编程方式创建菜单/命令、工具栏等。VSCT软件包通过.VSCT文件有一种完全不同(而且更有效)的方式


要将外接程序转换为软件包并不简单,您需要使用.vsct文件来创建菜单、工具栏、命令等

关于工具窗口:

包装的通常方式是:

如何:在Visual Studio包中使用ToolWindowPane类创建toolwindow

但您可以使用与外接程序相同的方法执行此操作: 如何:在Visual Studio包中创建没有ToolWindowPane类的toolwindow (同一链接)

关于在将外接程序迁移到包时不“复制所有内容”,请参阅我的帖子: