2016-03-10 26 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