Visual Studio Tools for Office Runtime 概述

若要运行使用 Visual Studio 2010 中的 Microsoft Office 开发人员工具创建的解决方案,必须在最终用户计算机上安装 Visual Studio 2010 Tools for Office Runtime。 Visual Studio 2010 Tools for Office Runtime 包含两个主要组件:

  • Office 的 .NET Framework 扩展。 这些组件是提供解决方案和 Microsoft Office 应用程序之间的通信层的托管程序集。 有关更多信息,请参见了解 Office 的 .NET Framework 扩展。

  • Office 解决方案加载程序。 此组件是 Office 应用程序用于加载运行时和解决方案的一组非托管 DLL。 有关更多信息,请参见了解 Office 解决方案加载程序。

可以通过多种不同的方法安装运行时。 根据计算机上的配置,安装运行时期间将安装不同的运行时组件。 有关更多信息,请参见 Visual Studio Tools for Office Runtime 安装方案

了解 Office 的 .NET Framework 扩展

Visual Studio 2010 Tools for Office Runtime 包含两种 Office 的 .NET Framework 扩展:

  • Office 的 .NET Framework 3.5 扩展由面向 .NET Framework 3.5 的解决方案使用。

  • Office 的 .NET Framework 4 扩展由面向 .NET Framework 4 的解决方案使用。

这两种扩展包括解决方案用于自动处理和扩展 Office 应用程序的程序集。 在创建新的 Office 项目时,Visual Studio 会自动添加对项目类型和项目的目标 .NET Framework 使用的程序集的引用。 有关 Office 扩展中程序集的更多信息,请参见 Visual Studio Tools for Office Runtime 中的程序集

Office 扩展之间的设计差异

在 Office 的 .NET Framework 3.5 扩展中使用的多数类型是类。 这些类与包含在 Visual Studio Tools for Office Runtime 早期版本中的类相同。相反,用在 Office 的 .NET Framework 4 扩展中的多数类型是接口。 例如,如果面向的是 .NET Framework 4,则 Microsoft.Office.Tools.Excel.WorksheetMicrosoft.Office.Tools.Word.Document 类型为接口而不是类。

大多数情况下,无论您的解决方案面向 .NET Framework 3.5 还是 .NET Framework 4,在 Office 解决方案中编写的代码都是相同的。 但是,如果面向 .NET Framework 的不同版本,则某些功能需要不同的代码。 有关更多信息,请参见将 Office 解决方案迁移到 .NET Framework 4

Office 的 .NET Framework 4 扩展中的接口

Office 的 .NET Framework 4 扩展中的多数接口不应由用户代码实现。 用户只能实现名称以字母 I 开头的接口,如 ISmartTagExtension

不以字母 I 开头的所有接口均由 Visual Studio 2010 Tools for Office Runtime 在内部实现,并且这些接口可能会在以后的版本中发生更改。 若要创建实现这些接口的对象,请在项目使用由 Globals.Factory 对象提供的方法。 例如,若要获取实现 SmartTag 接口的对象,请使用 Globals.Factory.CreateSmartTag 方法。 有关 Globals.Factory的更多信息,请参见对 Office 项目中对象的全局访问

在面向 .NET Framework 4 的项目中启用类型等效性和嵌入类型

通过 Office 的 .NET Framework 4 扩展的基于接口的对象模型,可以使用 Visual C# 2010 和 Visual Basic 2010 中的类型等效性功能将 Visual Studio Tools for Office Runtime 中的类型信息嵌入到解决方案中。此功能使 Office 解决方案和 Visual Studio Tools for Office Runtime 的版本可以相互独立。 例如,如果解决方案将 Microsoft.Office.Tools.Word.Document 接口用作嵌入类型,而运行时的下一个版本向 Microsoft.Office.Tools.Word.Document 接口添加成员,则该解决方案仍适用于运行时的下一个版本。 如果解决方案不将 Microsoft.Office.Tools.Word.Document 接口用作嵌入类型,则该解决方案将不再适用于运行时的下一个版本。

默认情况下,在创建面向 .NET Framework 4 的 Office 项目时不会启用类型等效性功能。 如果要启用此功能,请将项目中以下任何程序集引用的**“嵌入互操作类型”属性设置为“True”**:

  • Microsoft.Office.Tools.dll

  • Microsoft.Office.Tools.Common.dll

  • Microsoft.Office.Tools.Excel.dll

  • Microsoft.Office.Tools.Outlook.dll

  • Microsoft.Office.Tools.Word.dll

进行此更改后,项目所使用的所有运行时类型的类型信息都会在生成该项目时嵌入到解决方案程序集中。 解决方案在运行时会使用此嵌入类型信息(而不是所引用的程序集中的类型信息)。

了解 Office 解决方案加载程序

Visual Studio Tools for Office 运行时包含一些非托管 DLL,Office 应用程序使用这些 DLL 加载运行时和 Office 解决方案。 虽然从来不必直接使用这些 DLL,但是知道这些 DLL 的用途可以帮助您更好地了解 Office 解决方案的体系结构。

有关如何在加载过程中使用这些组件的信息,请参见文档级自定义项的体系结构应用程序级外接程序的体系结构

VSTOEE.dll

当用户打开文档级自定义项或启动外接程序时,Office 应用程序将调入 VSTOEE.dll 以执行加载 Visual Studio Tools for Office Runtime 所需的任务。

VSTOEE.dll 将确保为解决方案和安装的 Office 版本加载 Visual Studio Tools for Office Runtime 的正确版本。 虽然可以在同一台计算机上安装多个版本的 Visual Studio Tools for Office Runtime,但是每次仅安装 VSTOEE.dll 的一个实例。 这是安装在计算机上的运行时最新版本所附带的 VSTOEE.dll。 有关可用于其他解决方案的不同版本的 Visual Studio Tools for Office Runtime 的更多信息,请参见在 Microsoft Office 的不同版本中运行解决方案

VSTOLoader.dll

VSTOEE.dll 加载相应版本的 Visual Studio Tools for Office Runtime 之后,VSTOLoader.dll 执行加载解决方案程序集所需进行的大部分工作。 VSTOLoader.dll 执行以下操作:

  • 它为每个解决方案程序集创建一个应用程序域。

  • 它执行一组安全性检查以验证解决方案程序集是否有运行的权限。

  • 它加载解决方案所需的 Office 的 .NET Framework 扩展的版本。

VSTOLoader.dll 还执行以下特定于外接程序的操作:

  • 它实现 IDTExtensibility2 接口。 IDTExtensibility2 是 Microsoft Office 应用程序的所有外接程序都必须实现的一个 COM 接口。 此接口定义应用程序为与外接程序通信而调用的方法。

  • 它实现 IManagedAddin 接口。 Office 应用程序使用此接口来帮助加载应用程序级外接程序。 有关更多信息,请参见 IManagedAddin 接口

了解运行时的 32 位和 64 位版本

Visual Studio 2010 Tools for Office Runtime 有单独的 64 位和 32 位版本。 这两种运行时版本用于在 Microsoft Office 2010 的 64 位和 32 位版本中运行解决方案。 下表显示了 Microsoft Windows 和 Microsoft Office 2010 的各种组合所需的运行时版本。

Microsoft Windows 版本

Microsoft Office 版本

所需的 Visual Studio Tools for Office Runtime 版本

32 位

32 位

32 位

64 位

32 位

64 位

64 位

64 位

64 位

安装 Microsoft Office 2010 时,所需的 Visual Studio Tools for Office Runtime版本将与 Office 一起安装。 例如,在 Microsoft Windows 的 64 位版本上安装 Microsoft Office 2010 的 64 位版本时,也会安装 Visual Studio Tools for Office Runtime的 64 位版本。 有关将 Visual Studio Tools for Office Runtime与 Microsoft Office 2010 一起安装的更多信息,请参见 Visual Studio Tools for Office Runtime 安装方案

Microsoft Office 2010 的 64 位版本也可以运行在 Visual Studio 2008 中使用 2007 Microsoft Office system 项目模板创建的 Office 解决方案。 不过,该版本不能运行在 Visual Studio 2008 中使用 Microsoft Office 2003 项目模板创建的 Office 解决方案,或使用 Visual Studio 2005 创建的 Office 解决方案。 有关更多信息,请参见在 Microsoft Office 的不同版本中运行解决方案

修复 Visual Studio 2010 Tools for Office Runtime

如果需要修复此运行时,请在“控制面板”中打开**“程序和功能”“添加或删除程序”,在程序列表中选择“Microsoft Visual Studio 2010 Tools for Office Runtime”,然后单击“卸载”。 通过运行的安装程序即可修复此运行时。 如果单击“更改”**,则不会向您提供用于修复此运行时的选项。

请参见

任务

如何:在 Visual Studio 中创建 Office 项目

概念

文档级自定义项的体系结构

应用程序级外接程序的体系结构

其他资源

Visual Studio Tools for Office Runtime 安装方案

Visual Studio Tools for Office Runtime 中的程序集

Visual Studio 中 Office 解决方案的体系结构

升级和迁移 Office 解决方案