Office 主互操作程序集

若要在 Office 项目中使用 Microsoft Office 应用程序的功能,您必须使用该应用程序的主互操作程序集 (PIA)。 通过 PIA,托管代码可以与 Microsoft Office 应用程序的基于 COM 的对象模型进行交互。

创建新的 Office 项目时,Visual Studio 会添加对生成该项目所需 PIA 的引用。 在某些情况下,您可能需要添加对其他 PIA 的引用(例如,如果您希望在 Microsoft Office Excel 项目中使用 Microsoft Office Word 的功能)。

本主题描述有关在 Office 项目使用 Microsoft Office PIA 的以下方面:

  • 区分生成项目和运行项目所需的主互操作程序集

  • 在一个项目中使用多个 Microsoft Office 应用程序的功能

  • Microsoft Office 应用程序的主互操作程序集的全部列表

有关主互操作程序集的更多信息,请参见 主互操作程序集

区分生成项目和运行项目所需的主互操作程序集

visual Studio 在开发计算机上使用不同的 PIA 集。 这些不同的程序集位于下列位置:

  • Program Files 目录中的文件夹。

    当您编写代码和生成项目时,要用到这些程序集副本。 visual Studio 会自动安装这些程序集。

  • 全局程序集缓存。

    这些程序集副本在某些开发任务期间使用,例如在运行或调试针对 .NET Framework 3.5 的项目时使用。 visual Studio 不会安装和注册这些程序集;您必须自己安装和注册。

Program Files 目录中的主互操作程序集

安装 Visual Studio 后, PIA 会自动安装在文件系统中全局程序集缓存之外的某个位置。 创建新项目时,Visual Studio 会自动将对这些 PIA 副本的引用添加到您的项目中。 Visual Studio 使用这些 PIA 副本(而非全局程序集缓存中的程序集)在开发和生成项目时解析类型引用。

这些 PIA 副本帮助 Visual Studio 避免在全局程序集缓存中注册 PIA 的不同版本时可能发生的许多开发问题。

Visual Studio 将这些 PIA 副本安装在开发计算机的下列位置:

  • %ProgramFiles%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12

    (或 64 位操作系统上的 %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12)

  • %ProgramFiles%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14

    (或 64 位操作系统上的 %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14)

全局程序集缓存中的主互操作程序集

若要执行某些开发任务,必须在开发计算机上的全局程序集缓存中安装并注册 PIA。 通常,在开发计算机上安装 Office 时会自动安装 PIA。 有关更多信息,请参见 将计算机配置为开发 Office 解决方案

最终用户计算机还必须在全局程序集缓存中安装并注册 PIA,才能运行针对 .NET Framework 3.5 的 Office 解决方案。 不过,若要运行面向 .NET Framework 4 的 Office 解决方案,则无需在最终用户计算机上安装 Office PIA。 有关更多信息,请参见 设计和创建 Office 解决方案

在一个项目中使用多个 Microsoft Office 应用程序的功能

Visual Studio 中的每个 Office 项目模板旨在与 Microsoft Office 应用程序配合使用。 若要使用多个 Microsoft Office 应用程序的功能,或者使用 Visual Studio 中没有项目的应用程序或组件的功能,您必须添加对所需 PIA 的引用。

在大多数情况下,您都应添加对 Visual Studio 安装在 %ProgramFiles%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\ 目录中的 PIA 的引用。 这些版本的程序集显示在**“添加引用”对话框的“.NET”**选项卡上。 有关更多信息,请参见 如何:通过主互操作程序集面向 Office 应用程序

如果您在全局程序集缓存中安装并注册了 PIA,那么这些版本的程序集显示在**“添加引用”对话框的“COM”选项卡上。 您应当避免添加对这些版本的程序集的引用,因为使用它们时可能会出现某些开发问题。 例如,如果您在全局程序集缓存中注册了 PIA 的不同版本,则您的项目将自动绑定到您最后一次注册的程序集版本,即使您在“添加引用”对话框的“COM”**选项卡上指定了其他程序集版本也是如此。

提示

添加一个引用某些程序集的程序集时,这些被引用的程序集将被自动添加到项目中。 例如,当您添加对 Word、Excel、Outlook、Microsoft Forms 或 Graph 程序集的引用时,会自动添加对 Office.dll 和 Microsoft.Vbe.Interop.dll 程序集的引用。

Microsoft Office 应用程序的主互操作程序集

下表列出了可用于 Microsoft Office 2010 和 2007 Microsoft Office system 的主互操作程序集。

Office 应用程序或组件

主互操作程序集名称

Microsoft Access 12.0 对象库

Microsoft Access 14.0 对象库

Microsoft.Office.Interop.Access.dll

Microsoft Office 2007 Access 数据库引擎对象库

Microsoft Office 14.0 Access 数据库引擎对象库

Microsoft.Office.Interop.Access.Dao.dll

Microsoft Excel 12.0 对象库

Microsoft Excel 14.0 对象库

Microsoft.Office.Interop.Excel.dll

Microsoft Graph 12.0 对象库(PowerPoint、Access 和 Word 将该对象库用于图形)

Microsoft Graph 14.0 对象库

Microsoft.Office.Interop.Graph.dll

Microsoft InfoPath 2.0 类型库(仅用于 InfoPath 2007)

Microsoft.Office.Interop.InfoPath.dll

Microsoft InfoPath XML 互操作程序集(仅用于 InfoPath 2007)

Microsoft.Office.Interop.InfoPath.Xml.dll

Microsoft Office 12.0 对象库(Office 共享的功能)

Microsoft Office 14.0 对象库(Office 共享的功能)

office.dll

Microsoft Office Outlook 视图控件(在网页和应用程序中可用来访问收件箱)

Microsoft.Office.Interop.OutlookViewCtl.dll

Microsoft Outlook 12.0 对象库

Microsoft Outlook 14.0 对象库

Microsoft.Office.Interop.Outlook.dll

Microsoft PowerPoint 12.0 对象库

Microsoft PowerPoint 14.0 对象库

Microsoft.Office.Interop.PowerPoint.dll

Microsoft Project 12.0 对象库

Microsoft Project 14.0 对象库

Microsoft.Office.Interop.MSProject.dll

Microsoft Publisher 12.0 对象库

Microsoft Publisher 14.0 对象库

Microsoft.Office.Interop.Publisher.dll

Microsoft SharePoint Designer 12.0 Web 对象引用库

Microsoft SharePoint Designer 14.0 Web 对象引用库

Microsoft.Office.Interop.SharePointDesigner.dll

Microsoft SharePoint Designer 12.0 Page 对象引用库

Microsoft SharePoint Designer 14.0 Page 对象引用库

Microsoft.Office.Interop.SharePointDesignerPage.dll

Microsoft Smart Tags 2.0 类型库

注意注意
在 Excel 2010 和 Word 2010 中已弃用智能标记。有关更多信息,请参见 智能标记概述

Microsoft.Office.Interop.SmartTag.dll

Microsoft Visio 12.0 类型库

Microsoft Visio 14.0 类型库

Microsoft.Office.Interop.Visio.dll

Microsoft Visio 12.0 Save As Web 类型库

Microsoft Visio 14.0 Save As Web 类型库

Microsoft.Office.Interop.Visio.SaveAsWeb.dll

Microsoft Visio 12.0 绘图控件类型库

Microsoft Visio 14.0 绘图控件类型库

Microsoft.Office.Interop.VisOcx.dll

Microsoft Word 12.0 对象库

Microsoft Word 14.0 对象库

Microsoft.Office.Interop.Word.dll

Microsoft Visual Basic for Applications Extensibility 5.3

Microsoft.Vbe.Interop.dll

绑定重定向程序集

在全局程序集缓存中安装并注册 Office PIA(通过 Office,或通过为 PIA 安装可再发行组件包)时,绑定重定向程序集也只会安装在全局程序集缓存中。 这些程序集有助于确保在运行时加载主互操作程序集的正确版本。 例如,当引用 2007 Microsoft Office 主互操作程序集的解决方案在装有同一主互操作程序集的 Microsoft Office 2010 版本的计算机上运行时,绑定重定向程序集会指示 .NET Framework 运行时加载 Microsoft Office 2010 版本的主互操作程序集。 有关更多信息,请参见 程序集绑定重定向

每个绑定重定向程序集具有格式为 Policy.11.0.PIA Name.dll 或 Policy.12.0.PIA Name.dll 的名称,例如 Policy.11.0.Microsoft.Office.Interop.Excel.dll 和 Policy.12.0.Microsoft.Office.Interop.Excel.dll。

请参见

任务

如何:通过主互操作程序集面向 Office 应用程序

概念

InfoPath 解决方案

PowerPoint 解决方案

项目解决方案

Visio 对象模型概述

其他资源

Excel 对象模型概述

Outlook 对象模型概述

Word 对象模型概述

常规参考(Visual Studio 中的 Office 开发)