2016-03-10 52 views
1

任何人都可以请指导我如何转换插件以VSPackage的Extention无需重新创建/复制到一切VSIX?VS2013外接程序到VS2015 VSPackage的:如何创建ToolWindow2

我有一个插件,其支持VS2010到VS2013。我拥有.sln中的所有内容。我想将.addin迁移/创建为.vsix,以便VS2015的兼容性问题。经过一些研究,我发现代码什么是写在IDTCommandTarget.Exec方法已经运行到我的自定义命令类的vsix项目...

因此,我创建了一个新的.vsix项目在相同的解决方案&添加我.addin项目的引用到.vsix项目,我能够像下面加载我的外接程序项目的初步控制...

enter image description here

但按代码,我想在创建CreateToolWindow2我的树节点的双击,但我得到以下错误(空AddInInstance)...

enter image description here

任何人都可以请指导我如何创建一个AddIn类的实例来创建ToolWindow2?

回答

1

这是不太做到这一点的方式。您创建一个.VSIX项目,然后添加一个自定义命令,然后将旧插件的Exec方法中的代码/逻辑添加到自定义命令MenuItemCallback方法中。

注意,您不再需要编程创建菜单/命令,工具栏等的VSPackage必须通过.VSCT文件是完全不同的(和更有效的方式)。

FAQ: Converting Add-ins to VSPackage Extensions

1

要转换加载到一个包是不容易的或微不足道的,你需要使用.vsct文件创建菜单,工具栏,命令等

关于toolwindows的:

用于包装的通常的方法是:

HOWTO:在Visual Studio中的包中创建一个ToolWindowPane类工具窗口 http://www.visualstudioextensibility.com/articles/packages/

但你可以以同样的方式加载项做到这一点: HOWTO:在Visual Studio程序包创建一个没有ToolWindowPane类工具窗口 (同一个链接)

关于不是“复制一切”迁移的时候加入一个包,看我的帖子:

Strategies migrating from Visual Studio add-ins to packages