用于办公室运行时的 Visual Studio 工具概述

若要运行使用 Visual Studio 中的Microsoft 办公室开发人员工具创建的解决方案,必须在最终用户计算机上安装 Visual Studio 2010 Tools for 办公室 运行时。 有关详细信息,请参阅 How to: Install the Visual Studio Tools for 办公室 runtime redistributable. 用于办公室运行时的 Visual Studio 2010 工具由两个主要组件组成:

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

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

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

了解 .NET Framework 的办公室扩展

用于办公室运行时的 Visual Studio 2010 工具包括 .NET Framework 3.5、.NET Framework 4 及更高版本的办公室扩展。 以 .NET Framework 各版本为目标的解决方法使用该版本适用的扩展。

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

办公室扩展的设计差异

在 Office 的 .NET Framework 3.5 扩展中使用的多数类型是类。 这些类与早期版本的 Visual Studio Tools for 办公室 运行时中包含的类相同。 相比之下,在 .NET Framework 4 或更高版本的办公室扩展中使用的大多数类型都是接口。 例如,当你面向 .NET Framework 4 或更高版本时, WorksheetDocument 类型是接口而不是类。

在大多数情况下,在办公室解决方案中编写的代码与解决方案面向 .NET Framework 3.5 还是 .NET Framework 4 相同。 但是,如果面向 .NET Framework 的不同版本,则某些功能需要不同的代码。 有关详细信息,请参阅将办公室解决方案迁移到 .NET Framework 4 或更高版本

.NET Framework 4 或更高版本的办公室扩展中的接口

.NET Framework 4 或更高版本的办公室扩展中的大多数接口都不应由用户代码实现。 用户只能实现名称以字母 I开头的接口,如 ISmartTagExtension

不以字母开头的所有接口都是由 Visual Studio 2010 Tools for 办公室 运行时在内部实现的,这些接口可能会在将来的版本中更改。 若要创建实现这些接口的对象,请在项目使用由 Globals.Factory 对象提供的方法。 例如,若要获取实现 SmartTag 接口的对象,请使用 Globals.Factory.CreateSmartTag 方法。 有关详细信息Globals.Factory,请参阅对办公室项目中对象的全局访问。

在面向 .NET Framework 4 或更高版本的项目中启用类型等效和嵌入类型

由于 .NET Framework 4 或更高版本的办公室扩展的对象模型基于接口,因此可以使用 Visual Studio 中 Visual C# 和 Visual Basic 中的类型等价功能将 Visual Studio Tools for 办公室 运行时的类型信息嵌入到解决方案中。 此功能支持办公室解决方案和用于办公室运行时的 Visual Studio 工具彼此独立版本。 例如,如果解决方案将 Document 接口用作嵌入类型,而运行时的下一个版本向 Document 接口添加成员,则该解决方案仍适用于运行时的下一个版本。 如果解决方案不将 Document 接口用作嵌入类型,则该解决方案将不再适用于运行时的下一个版本。

默认情况下,创建面向 .NET Framework 4 或更高版本的办公室项目时,不会启用类型等效功能。 如果要启用此功能,请将项目中以下任何程序集引用的 “嵌入互操作类型” 属性设置为 “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

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

了解办公室解决方案加载程序

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

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

vstoee.dll

当用户打开文档级自定义或启动 VSTO 外接程序时,办公室应用程序调用 VSTO企业版.dll 以执行加载 visual Studio Tools for 办公室 运行时所需的任务。

VSTO企业版.dll 确保为解决方案加载正确的 Visual Studio Tools for 办公室 运行时版本和已安装的 办公室 版本。 尽管在同一台计算机上安装多个版本的 Visual Studio Tools for 办公室 运行时,但一次只能安装一个 VSTO企业版.dll 实例。 这是计算机上安装的最新版本的运行时随附的 VSTO企业版.dll。 有关可用于其他解决方案的不同版本的 Visual Studio Tools for 办公室 运行时的详细信息,请参阅不同版本的 Microsoft 办公室 运行解决方案。

VSTOLoader.dll

在 VSTO企业版.dll 加载适用于办公室运行时的 Visual Studio 工具的相应版本后VSTOLoader.dll 执行加载解决方案程序集所需的大部分工作。 VSTOLoader.dll 执行多项操作:

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

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

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

    VSTOLoader.dll 还执行一些特定于 VSTO 外接程序的事情:

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

  • 它实现 IManagedAddin 接口。 办公室应用程序使用此接口来帮助加载 VSTO 外接程序。有关详细信息,请参阅 IManagedAddin 接口

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

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

Windows 版本 Microsoft Office 版本 所需的 Visual Studio Tools for Office Runtime 版本
32 位 32 位 32 位
64 位 32 位 64 位
64 位 64 位 64 位

安装办公室时,将随办公室一起安装 Visual Studio Tools for 办公室 运行时所需的版本。 例如,在 64 位版本的 Windows 上安装 64 位版本的 办公室时,还会安装 64 位版本的 Visual Studio Tools for 办公室 运行时。 有关使用 办公室 安装 Visual Studio Tools for 办公室 运行时的详细信息,请参阅 Visual Studio Tools for 办公室 运行时安装方案

64 位版本的 Office 也可以运行在 Visual Studio 2008 中使用 2007 Microsoft Office 系统的项目模板创建的 Office 解决方案。 不过,该版本不能运行在 Visual Studio 2008 中使用 Microsoft Office 2003 项目模板创建的 Office 解决方案,或使用 Visual Studio 2005 创建的 Office 解决方案。 有关详细信息,请参阅不同版本的Microsoft 办公室中的运行解决方案。

修复 Visual Studio 2010 Tools for 办公室 runtime

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