为VS 2005 +

时间:2015-07-07 18:35:15

标签: .net visual-studio visual-studio-extensions vsix vspackage

我正在开发一个Visual Studio扩展,我想与VS 2005+兼容(2005,2008,2010,2012,2013,最终到2015年)。

我一直在研究这方面的要求,并且在执行此手册时遇到了http://www.viva64.com/en/a/0082/。 它涵盖了很多关于如何实现这一目标的细节,但是当我从头开始开发我的第一个VS扩展时,我迷失了。

文章说,

  

开发VS扩展包需要为目标版本的IDE安装Microsoft Visual Studio SDK,即应为每个正在开发扩展的Visual Studio版本安装单独的SDK。

这是否意味着我需要2005 SDK,2008 SDK,2010 SDK等?

另外,我没有看到任何关于Visual Studio的使用版本的信息。我发现了其他一些提到版本的文章,但它们与2010+扩展相关。

我假设我应该使用.NET framework 3.5来实现向后兼容。

我有以下问题:

  1. 我应该在哪个版本的Visual Studio上创建项目?
  2. 我应该定位哪个版本的.NET框架?
  3. 需要哪些Visual Studio SDK?

2 个答案:

答案 0 :(得分:1)

您可以将Visual Studio 2008与针对.NET 3.5的VS 2008 SDK一起使用,以创建可在VS 2005+上运行的Visual Studio包。您还需要为它创建一个安装程序。

如果您不太需要VS 2008支持,那么使用Visual Studio 2010定位VS 2010+以创建可自行安装的vsix Visual Studio扩展会更加简单。

答案 1 :(得分:1)

您希望VS扩展程序与VS2005 +兼容似乎是一个随意的决定。为什么不用VS2003 +或VS2008 +?

无论如何,这是可能的,但非常困难,因为VS自2005年以来发生了重大变化。调试和测试以及扩展可能是一场噩梦。您必须跟踪哪个VS版本支持哪些功能。

为此,您必须开发VSPackage。您引用的文章讨论了VSPackages,但几乎没有说明兼容性。

此处的兼容性甚至无法在源代码级别实现。根据{{​​3}}重点强调:

  

在Visual Studio 2005中运行的大多数VSPackage将继续有效   在Visual Studio 2008中没有修改。大多数服务,入门   积分和事件保持兼容性,但有一些   例外,在本主题后面列出。编程   接口一般也保持兼容性,但有些元素   接口可能会更改,需要修改源代码才能工作   使用Visual Studio 2008。

即使在this时,它们仍然存在以前版本中的工作情况,但在Visual Studio的更高版本中神秘地破坏了。

您必须使用条件编译并针对每个VS SDK版本编译扩展。此外,扩展的部署模型对于不同的IDE版本也是不同的。

我的建议是针对VS2010 +而不是VS2005。这将非常容易,而且大多数开发人员都在使用VS2010 +。