为Visual Studio的多个版本开发Visual Studio加载项



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

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

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

我看到这个问题可能看起来是重复的,但被接受的答案并不能回答这个问题,所以…

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

VS2008不支持扩展(.vsix),您需要为它编写部署为msi的VSPackage。您也无法访问VS2010中引入的许多新功能(更容易集成编辑器,并通过MEF访问vs服务),但操作解决方案/项目/文件等基本功能应该很好,可以在所有版本上使用(例如,使用DTE应该可以)。

就我记忆中的VS2008而言,您还需要获得PLK,这在2010年和2012年不再需要。

我还没有尝试在VS2012中开发2008包,但您肯定可以在2012中开发2010扩展。

还要记住,VS2008是.Net 3.5,所以您的代码应该使用.Net 3.5和它支持的可移植的c#版本。

最新更新