Office 主互操作程序集

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

注意

有兴趣开发跨多个平台扩展办公室体验的解决方案? 查看新的办公室外接程序模型。 与 VSTO 外接程序和解决方案相比,办公室外接程序的占用空间较小,可以使用几乎任何 Web 编程技术(如 HTML5、JavaScript、CSS3 和 XML)生成它们。

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

本文介绍在 办公室 项目中使用 Microsoft 办公室 PIA 的以下方面:

有关主互操作程序集的详细信息,请参阅 主互操作程序集

用于生成和运行项目的单独主互操作程序集

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

  • 程序文件目录中的文件夹

    编写代码和生成项目时,将使用此程序集集。 Visual Studio 会自动安装这些程序集。

  • 全局程序集缓存

    此程序集集用于某些开发任务,例如运行或调试项目时。 Visual Studio 不会安装和注册这些程序集;你需要自己做。

程序文件目录中的主互操作程序集

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

当全局程序集缓存中注册不同版本的 PIA 时,可能会遇到多个开发问题。 添加的 PIA 副本将帮助你避免此类问题。

对于 Visual Studio 2017 及更高版本,这些 PIA 副本将安装到开发计算机上的以下共享位置:

  • %ProgramFiles%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\

  • (或在 %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\ 64 位操作系统上)

注意

对于较旧版本的 Visual Studio,这些 PIA 将安装到 Visual Studio Tools for 办公室\PIA 文件夹下%ProgramFiles%该版本的 Visual Studio 文件夹。 例如:%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Visual Studio Tools for Office\PIA\

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

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

最终用户计算机上不需要办公室 PIA 才能运行办公室解决方案。 有关详细信息,请参阅设计和创建办公室解决方案

在单个项目中使用多个Microsoft 办公室应用程序的功能

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

在大多数情况下,应添加对 Visual Studio 在目录下安装的 PIA 的 %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\ 引用。 这些版本的程序集显示在“引用管理器”对话框的“框架”选项卡上。 有关详细信息,请参阅“如何:通过主互操作程序集定位办公室应用程序。

如果已安装并注册了全局程序集缓存中的 PIA,则这些版本的程序集将显示在“引用管理器”对话框的“COM”选项卡上。 避免添加对这些版本的程序集的引用,因为使用程序集时可能会出现一些开发问题。 例如,如果在全局程序集缓存中注册了不同版本的 PIA,则项目将自动绑定到上次注册的程序集版本,即使你在引用管理器对话框的 COM 选项卡上指定了程序集的不同版本。

注意

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

Microsoft 办公室 应用程序的主要互操作程序集

下表列出了可用于 办公室 2016、办公室 2013 和 办公室 2010 的主互操作程序集。


Office 应用程序或组件 主互操作程序集名称
Microsoft Access 14.0 对象库

Microsoft Access 15.0 对象库
Microsoft.Office.Interop.Access.dll
Microsoft Office 14.0 Access 数据库引擎对象库

Microsoft Office 15.0 Access 数据库引擎对象库
Microsoft.Office.Interop.Access.Dao.dll
Microsoft Excel 14.0 对象库

Microsoft Excel 15.0 对象库
微软。办公室。Interop.Excel.dll
Microsoft Graph 14.0 对象库(PowerPoint、Access 和 Word 将该对象库用于图形)

Microsoft Graph 15.0 对象库
Microsoft.Office.Interop.Graph.dll
Microsoft InfoPath 2.0 类型库(仅用于 InfoPath 2007) 微软。办公室。Interop.InfoPath.dll
Microsoft InfoPath XML 互操作程序集(仅用于 InfoPath 2007) Microsoft.Office.Interop.InfoPath.Xml.dll
Microsoft Office 14.0 对象库(Office 共享的功能)

Microsoft Office 15.0 对象库(Office 共享的功能)
office.dll
Microsoft Office Outlook 视图控件(在网页和应用程序中可用来访问收件箱) Microsoft.Office.Interop.OutlookViewCtl.dll
Microsoft Outlook 14.0 对象库

Microsoft Outlook 15.0 对象库
微软。办公室。Interop.Outlook.dll
Microsoft PowerPoint 14.0 对象库

Microsoft PowerPoint 15.0 对象库
Microsoft.Office.Interop.PowerPoint.dll
Microsoft Project 14.0 对象库

Microsoft Project 15.0 对象库
微软。办公室。Interop.MSProject.dll
Microsoft Publisher 14.0 对象库

Microsoft Publisher 15.0 对象库
Microsoft.Office.Interop.Publisher.dll
Microsoft SharePoint Designer 14.0 Web 对象引用库 Microsoft.Office.Interop.SharePointDesigner.dll
Microsoft SharePoint Designer 14.0 Page 对象引用库 Microsoft.Office.Interop.SharePointDesignerPage.dll
Microsoft 智能标记 2.0 类型库 说明: Excel 2010 和 Word 2010 中弃用智能标记。 Microsoft.Office.Interop.SmartTag.dll
Microsoft Visio 14.0 类型库

Microsoft Visio 15.0 类型库
Microsoft.Office.Interop.Visio.dll
Microsoft Visio 14.0 Save As Web 类型库

Microsoft Visio 15.0 Save As Web 类型库
Microsoft.Office.Interop.Visio.SaveAsWeb.dll
Microsoft Visio 14.0 绘图控件类型库

Microsoft Visio 15.0 绘图控件类型库
Microsoft.Office.Interop.VisOcx.dll
Microsoft Word 14.0 对象库

Microsoft Word 15.0 对象库
微软。办公室。Interop.Word.dll
Microsoft Visual Basic for Applications Extensibility 5.3 Microsoft.Vbe.Interop.dll

绑定重定向程序集

在全局程序集缓存中安装并注册 Office PIA(通过 Office,或通过为 PIA 安装可再发行组件包)时,绑定重定向程序集也只会安装在全局程序集缓存中。 这些程序集可确保在运行时加载主互操作程序集的正确版本。

例如,当引用 办公室 2010 程序集的解决方案在具有同一主互操作程序集的 办公室 2013 版本的计算机上运行时时,绑定重定向程序集指示 .NET Framework 运行时加载主互操作程序集的 办公室 2013 版本。

有关详细信息,请参阅 “如何:启用和禁用自动绑定重定向”。