Visual Studio Tools for Office 运行库概述

更新:2007 年 11 月

若要运行使用 Visual Studio Tools for Office 创建的解决方案,最终用户计算机必须具有 Visual Studio Tools for Office 运行时。运行时包括托管程序集(在解决方案与 Microsoft Office 应用程序间提供通信层)和非托管组件(应用程序使用这些组件来加载解决方案)。

有关在最终用户计算机上安装运行时的信息,请参见如何:安装 Visual Studio Tools for Office 运行库

本主题提供以下信息:

  • 了解不同的运行时版本

  • 了解运行时程序集

  • 了解运行时加载程序组件

了解不同的运行时版本

不同版本的 Microsoft Office 的 Visual Studio Tools for Office 解决方案需要不同版本的运行时。运行时版本由用于创建解决方案的项目模板确定,而不是由运行解决方案的 Office 的版本确定。

下表显示在最终用户计算机上运行解决方案所需的运行时和 Microsoft Office 的版本。

项目模板版本

最终用户计算机上的所需 Visual Studio Tools for Office 运行时版本

可以在最终用户计算机上运行解决方案的 Microsoft Office 版本

2007 Microsoft Office system 的项目

Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版运行时)

2007 Microsoft Office system

Microsoft Office 2003 的项目

Visual Studio 2005 Tools for Office Second Edition 运行时

2007 Microsoft Office system

Microsoft Office 2003

在安装 Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版) 时会在开发计算机上自动安装运行时的这两个版本。

有关创建能够用这两个 Microsoft Office 版本运行的解决方案的信息,请参见针对 Microsoft Office 的多个版本创建解决方案

每个版本的运行时中所包含的程序集之间存在着某些差异。有关更多信息,请参见程序集差异。

Bb608603.alert_note(zh-cn,VS.90).gif说明:

Visual Studio 2005 Tools for Office Second Edition 运行时最初与 Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System (VSTO 2005 SE) 一起发布。使用 Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版) 创建的 Microsoft Office 2003 解决方案也使用此版本的运行时。

查找这两个运行时的参考文档

如果单击“帮助”中的链接或索引项来获取命名空间、类型或成员的参考信息,则可能会得到两种几乎相同的结果。这两个主题描述了这两个运行时版本中的相同成员。选择由相应的版本指示符标识的主题:

  • 2007 System。它指的是 Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版运行时)。

  • 2003 System。它指的是 Visual Studio 2005 Tools for Office Second Edition 运行时。

了解运行时程序集

Visual Studio Tools for Office 运行时中所包括的程序集提供以下类的类别:

  • 解决方案用来自动执行和扩展宿主应用程序的类。

  • 使解决方案能够与宿主应用程序进行通信的基础结构类。

Bb608603.alert_note(zh-cn,VS.90).gif说明:

创建项目时,Visual Studio Tools for Office 将自动添加对用于项目类型的程序集的引用。有些程序集仅用于文档级项目,而其他程序集仅用于应用程序级项目。

Visual Studio Tools for Office 3.0 运行时中的程序集

下表列出了 Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版运行时) 中包含的程序集。此版本的运行时由为 2007 Microsoft Office system 创建的解决方案所使用。

有关这些程序集中的命名空间和类的文档,请参见 2007 System 托管参考

程序集名称

说明

Microsoft.Office.Tools.Common.v9.0.dll

提供以下类:

Microsoft.Office.Tools.Excel.v9.0.dll

为 Excel 文档级自定义项提供宿主项和宿主控件。有关更多信息,请参见宿主项和宿主控件概述

Microsoft.Office.Tools.Outlook.v9.0.dll

提供可用于在 Outlook 外接程序中创建自定义窗体区域的类。

Microsoft.Office.Tools.Word.v9.0.dll

为 Word 文档级自定义项提供宿主项和宿主控件。有关更多信息,请参见宿主项和宿主控件概述

Microsoft.Office.Tools.v9.0.dll

提供以下类:

  • RemoteBindableComponent 类,该类在文档级自定义项中为宿主控件提供数据绑定功能。

  • 作为 Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版运行时) 基础结构的一部分并且不应在代码中直接使用的其他类。

Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll

提供以下类:

  • 可用于在文档级自定义项中缓存数据对象的 CachedAttribute 属性和 ICachedType 类。

  • 可由 Visual Studio Tools for Office 运行时引发的异常。

  • 作为 Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版运行时) 基础结构的一部分并且不应在代码中直接使用的其他类。

Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll

提供以下类:

  • ServerDocument 类,可用于以编程方式将自定义程序集附加到文档并访问文档中的缓存数据。

  • 一些表示文档级自定义项中的缓存数据层次结构的类。

Microsoft.VisualStudio.Tools.Office.Runtime.v9.0.dll

提供以下类:

Microsoft.VisualStudio.Tools.Office.AppInfoDocument.v9.0.dll

Microsoft.VisualStudio.Tools.Office.Contract.v9.0.dll

提供作为 Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版运行时) 基础结构的一部分的类。不应直接在代码中使用这些类。

Visual Studio 2005 Tools for Office Second Edition 运行时中的程序集

下表列出了 Visual Studio 2005 Tools for Office Second Edition 运行时中包含的程序集。此版本的运行时由为 Microsoft Office 2003 创建的解决方案所使用。

有关这些程序集中的命名空间和类的文档,请参见 2003 System 托管参考

程序集名称

说明

Microsoft.Office.Tools.Common.dll

提供以下类:

  • 应用程序级外接程序的 AddIn 基类。

  • 用于在文档级自定义项中创建操作窗格和智能标记的类。

Microsoft.Office.Tools.Excel.dll

为 Excel 文档级自定义项提供宿主项和宿主控件。有关更多信息,请参见宿主项和宿主控件概述

Microsoft.Office.Tools.Word.dll

为 Word 文档级自定义项提供宿主项和宿主控件。有关更多信息,请参见宿主项和宿主控件概述

Microsoft.VisualStudio.Tools.Applications.Runtime.dll

提供以下类:

  • ServerDocument 类,可用于以编程方式将自定义项附加到文档中并访问文档中的缓存数据。

  • 可用于在文档级自定义项中缓存数据对象的 CachedAttribute 属性和 ICachedType 类。

  • 可由 Visual Studio Tools for Office 运行时引发的异常。

  • 作为 Visual Studio 2005 Tools for Office Second Edition 运行时基础结构的一部分并且不应在代码中直接使用的其他类。

程序集差异

Visual Studio 2005 Tools for Office Second Edition 运行时中所包含的一些程序集在 Visual Studio 2005 Tools for Office Second Edition 运行时 中具有不同的名称。此外,作为 Visual Studio 2005 Tools for Office Second Edition 运行时的一部分的一个程序集在 Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版运行时) 中被分成了若干新的程序集。

下表列出了差异。

在 Visual Studio 2005 Tools for Office Second Edition 运行时中的程序集名称

在 Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版运行时) 中的程序集名称

Microsoft.Office.Tools.Common.dll

Microsoft.Office.Tools.Common.v9.0.dll

Microsoft.Office.Tools.Excel.dll

Microsoft.Office.Tools.Excel.v9.0.dll

Microsoft.Office.Tools.Word.dll

Microsoft.Office.Tools.Word.v9.0.dll

Microsoft.VisualStudio.Tools.Applications.Runtime.dll

Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll

一些类也已经移至下列新程序集中:

  • Microsoft.Office.Tools.v9.0.dll

  • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll

了解运行时加载程序组件

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

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

运行时加载程序

当用户打开文档级自定义项或启动外接程序时,Microsoft Office 应用程序将调入运行时加载程序。此组件名为 VSTOEE.dll。

运行时加载程序将确保为正在加载外接程序的 Microsoft Office 版本加载 Visual Studio Tools for Office 运行时的正确版本。虽然可以在同一台计算机上安装多个版本的 Visual Studio Tools for Office 运行时,但是每次仅安装 VSTOEE.dll 的一个实例。这是安装在计算机上的运行时最新版本所附带的 VSTOEE.dll。

解决方案加载程序

解决方案加载程序执行加载解决方案程序集所需进行的大部分工作。解决方案加载程序的文件名因 Visual Studio Tools for Office 运行时的版本而异。Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版运行时) 中的解决方案加载程序被命名为 VSTOLoader.dll。在 Visual Studio 2005 Tools for Office Second Edition 运行时中,它被命名为 AddinLoader.dll。

解决方案加载程序执行以下操作:

  • 它为每个 Visual Studio Tools for Office 解决方案程序集创建一个新的应用程序域。

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

解决方案加载程序还执行以下特定于外接程序的操作:

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

  • 它实现 IManagedAddin 接口。从 2007 版本开始,Office 应用程序使用此接口来帮助加载 Visual Studio Tools for Office 外接程序。有关更多信息,请参见 IManagedAddin 接口

请参见

任务

如何:安装 Visual Studio Tools for Office 运行库

如何:创建 Visual Studio Tools for Office 项目

概念

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

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

升级和迁移 Office 解决方案

其他资源

Visual Studio Tools for Office 解决方案的结构