引用自动化程序集和 DTE2 对象

Visual Studio 2013 中已弃用 Visual Studio 的外接程序。 你应该升级外接程序到 VS 的扩展包。 有关升级的更多信息,请参见 。常见问题:将外接程序转换为 VSPackage 扩展

若要创建自动化应用程序,则必须执行一些步骤获取对自动化成员的访问权。 首先必须引用必需的自动化程序集,然后必须获取对顶级对象 DTE2 的引用。

在 Visual Studio 的早期版本中,所有的核心自动化项均位于名为 EnvDTE 的程序集中,并且其最高分层对象为 DTE 对象。 该对象是所有核心自动化对象、集合及其成员的父对象。 DTE2 派生自 DTE

在 Visual Studio 的后续版本中,对这些对象、集合及成员的一部分进行了添加和更新操作。 所有新的、更新的功能都位于名为 EnvDTE80(EnvDTE 8.0 版本)、EnvDTE90(EnvDTE 9.0 版本)和 EnvDTE100(EnvDTE 10.0 版本)的程序集中,而不是更新现有程序集并损害现有外接程序和自动化项目的向后兼容性。 [N:EnvDTE80,]、EnvDTE90EnvDTE100 中的大多数更新的函数都保持与以前版本相同的名称,但会在函数名称末尾附加一个数字。 例如,在较新版本中,TaskItems 集合名为 TaskItems2Solution 对象名为 Solution2。 由于新成员比早期版本的功能更强健,并且包含最新功能,因此推荐在编写新的自动化应用程序时使用新对象和新集合。

虽然新项位于 EnvDTE80EnvDTE90EnvDTE100 中,但是大多数核心自动化功能仍然位于 EnvDTE 中。 因此,在编写新的自动化应用程序(如外接程序)时,一定要引用 EnvDTEEnvDTE80EnvDTE90EnvDTE100。 只需一步就可完成此操作,方法是引用 COM 库“Microsoft 开发环境 8.0”、“Microsoft 开发环境 9.0”、“Microsoft 开发环境 9.0A”和“Microsoft 开发环境 10.0”。另外,如果使用 EnvDTE 程序集中的成员,也必须设置对 DTE 对象和 DTE2 对象的引用。 这使您可以访问所有的项。

有关获取对项目特定的对象模型的访问权的信息,请参见 自动化功能组

本节内容

相关章节