任何人都可以指导我如何将加载项转换为VSPackage扩展而无需在VSIX中重新创建/复制所有内容?
我有一个支持VS2010到VS2013的插件。我把所有东西都放在.sln中。我想将.addin迁移/创建.vsix以解决VS2015的兼容性问题。经过一些研究,我发现在IDTCommandTarget.Exec方法中编写的代码必须运行到我的自定义命令类vsix项目...
所以,我在同一个解决方案中创建了一个新的.vsix项目。将.addin项目的引用添加到.vsix项目中,我可以加载我的addin项目的初始控件,如下所示......
但是根据代码,我想在双击我的树节点时创建CreateToolWindow2但是我收到了以下错误(null AddInInstance)......
任何人都可以指导我如何创建一个AddIn类实例来创建ToolWindow2?
答案 0 :(得分:1)
这不是完成此操作的方法。您创建.VSIX项目,然后添加自定义命令,并将旧插件的Exec方法中的代码/逻辑添加到自定义命令MenuItemCallback方法。
注意,您不再需要以编程方式创建菜单/命令,工具栏等.VSPackage通过.VSCT文件具有完全不同(并且更有效的方式)。
答案 1 :(得分:1)
要将加载项转换为包不容易或无关紧要,您需要使用.vsct文件来创建菜单,工具栏,命令等。
关于工具窗口:
包的常用方法是:
HOWTO:在Visual Studio包中使用ToolWindowPane类创建一个工具窗口 http://www.visualstudioextensibility.com/articles/packages/
但是您可以像加载项一样执行此操作: HOWTO:在Visual Studio包中创建一个没有ToolWindowPane类的工具窗口 (同一环节)
关于将加载项迁移到包时,不要“复制所有内容”,请参阅我的帖子: