为多个版本的Visual Studio开发Visual Studio插件

时间:2012-11-21 14:41:00

标签: visual-studio visual-studio-addins

我被赋予了为Visual Studio开发一些扩展以供内部使用的任务。这些将不得不支持几个不同版本的Visual Studio(VS2008,2010和2012 - VS2005将是一个很好的但不是必不可少的)。我希望以尽可能一致的方式开发这些代码,尽可能多地重用代码,同时将其适用于这些工具的现有项目结构,即Visual Studio 2012 .sln。

开发此类扩展的最佳/最简单方法是什么?一个VSPackage项目?我可以制作一个与VS2012开发的兼容2008的VSPackage吗?

我目前正在编写的扩展所需的功能非常基本 - 我需要创建工具菜单命令,可能还有自定义工具窗口。我的要求可能会在以后发生变化,但我现在不需要编辑装饰或类似的东西。

我看到this这个问题可能看似重复,但接受的答案并没有回答这个问题,所以...

1 个答案:

答案 0 :(得分:3)

这实际上取决于你的扩展要做什么。

VS2008不支持扩展名(.vsix),您需要编写部署为msi的VSPackage。您也无法访问VS2010中引入的许多新功能(更轻松的编辑器集成以及通过MEF访问vs服务),但操作解决方案/项目/文件等基本内容应该没有问题,并且适用于所有版本(例如使用{ {3}}应该没事。)

据我记得VS2008,你还需要DTE,这在2010年和2012年不再需要。

我还没有尝试在VS2012中开发2008套餐,但你绝对可以在2012年开发2010版。

还记得VS2008是.Net 3.5,所以你的代码应该使用.net 3.5和它支持的c#版本才能移植。