设计和创建 Office 解决方案

Visual Studio 提供了可用于创建多种不同类型的 Office 解决方案的项目模板。 本文档的此部分介绍项目模板,并提供有关创建 Office 项目的指南。 有关如何在创建项目后实现代码和用户界面自定义的信息,请参阅 开发 Office 解决方案

适用于: 本主题中的信息适用于文档级项目和 VSTO 外接程序项目。 请参阅 Office 应用程序和项目类型提供的功能

注释

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

创建 Office 项目

在开始之前,应确定要求并发现最适合的解决方案类型。 例如,如果每次使用应用程序时 Office 解决方案都必须运行,VSTO 外接程序最符合你的要求。 如果代码与单个文档紧密集成,请创建文档级自定义。 这些项目类型可用作 Visual Studio 项目模板。 有关 Visual Studio 附带的 Office 项目模板的详细信息,请参阅 Office 项目模板概述。 有关如何创建 Office 项目的详细信息,请参阅 如何:在 Visual Studio 中创建 Office 项目

Office 项目具有与 Visual Studio 中其他类型的项目不同的功能和项目项。 例如,创建文档级项目时,可以在 Visual Studio 中打开和编辑项目中的文档或工作簿。 有关详细信息,请参阅 Visual Studio 环境中的 Office 项目

选择 .NET Framework 版本

选择最符合要求的项目类型后,可以选择要在开发过程中使用的 .NET Framework 版本。 可以在 Office 项目中支持以下 .NET Framework 版本:

  • .NET Framework 4

  • .NET Framework 4 客户端概要

  • .NET Framework 4.5

    在最终用户计算机上,需要为项目选择的 .NET Framework 版本才能运行解决方案。 例如,如果项目面向 .NET Framework 4,则最终用户计算机上需要 .NET Framework 4。 在此示例中,如果仅在最终用户计算机上安装了 .NET Framework 3.5,您的解决方案将不会运行。

    如果迁移面向 .NET Framework 3.5 的 VSTO 外接程序项目,Visual Studio 将项目的目标框架更改为 .NET Framework 4 或更高版本,具体取决于已安装的 Office 版本。

    但是,Visual Studio 更改目标框架后,如果项目使用某些功能,可能需要修改项目中的某些代码。 有关如何更改目标框架的详细信息,请参阅 如何:针对不同版本的 .NET 框架进行目标设置。 有关项目中可能需要进行的更改的详细信息,请参阅 将 Office 解决方案迁移到 .NET Framework 4 或更高版本

    如果 Visual Studio 更改项目的目标 .NET Framework,并且正在使用 ClickOnce 部署解决方案,请确保还在 “先决条件 ”对话框中选择相应版本的 .NET Framework。 更改项目的目标框架时,此选择不会自动更改。 有关详细信息,请参阅 如何:在最终用户计算机上安装必备组件以运行 Office 解决方案

注释

使用 Visual Studio 2013 创建的 Office 项目不能针对 .NET Framework 3.5 或更早版本。 使用 Visual Studio 2013 创建的 Office 项目需要 .NET Framework 4 客户端配置文件中首次引入的功能。

了解在最终用户计算机上何时需要 Office PIA

默认情况下,如果项目中每个 Office PIA 引用的 嵌入互作类型 属性设置为 True(默认值),则无需在最终用户计算机上安装 Office 主互作程序集(PIA)。 在此方案中,生成项目时,您的解决方案所使用的 PIA 类型的类型信息将嵌入到解决方案的程序集。 在运行时,使用嵌入类型信息而不是 PIA 来调用 Office 应用程序的基于 COM 的对象模型。 有关如何将 PIA 中的类型嵌入到解决方案中的详细信息,请参阅 类型等效和嵌入式互作类型

如果项目中每个 Office PIA 引用的 嵌入互作类型 属性设置为 False,则必须在运行解决方案的每个最终用户计算机上的全局程序集缓存中安装并注册 Office PIA。 在大多数情况下,PIA 默认随 Office 一起安装,但你也可以将 PIA 可再发行组件作为解决方案的先决条件。 有关详细信息,请参阅 Office 解决方案部署先决条件

了解客户资料

.NET Framework 客户端配置文件是完整 .NET Framework 的子集。 如果需要仅使用 .NET Framework 的客户端功能,并希望为 Office 解决方案提供最快的部署体验时,您可以选择目标为 .NET Framework 客户端配置文件。 有关详细信息,请参阅 .NET Framework 客户端配置文件

创建面向 .NET Framework 4 的 Office 项目时,系统会默认选择 .NET Framework 4 客户端配置文件作为目标。 如果要针对完整的 .NET Framework 4 进行开发,则必须在创建项目后设置此选项。 有关详细信息,请参阅 How to: Target a version of the .NET Framework.

为 64 位版本的 Microsoft Office 创建解决方案

Microsoft Office 在 64 位和 32 位版本中提供。 若要创建可在任一版本中运行的 Office 解决方案,项目的平台目标设置必须设置为 “任何 CPU”。 这是 Office 项目的默认值。 有关详细信息,请参阅 生成 Office 解决方案

Visual Studio Tools for Office 运行时有单独的 64 位和 32 位版本,分别用于 64 位和 32 位的 Microsoft Office 版本。 有关详细信息,请参阅 Visual Studio Tools for Office 运行时概述

Office 解决方案中的程序集

使用 Visual Studio 中的 Office 开发工具创建 Office 项目时,您编写的代码最终会编译成程序集。 程序集部署到共享服务器或客户端计算机上的目录。

Office 解决方案中的程序集由 Office 应用程序加载。 加载程序集后,程序集中的代码可以响应应用程序中引发的事件,例如,当用户单击菜单项时。 程序集中的代码还可以调用对象模型来自动执行和扩展应用程序,并可以使用 .NET Framework 中的任何类。 有关详细信息,请参阅 文档级自定义的体系结构VSTO 外接程序的体系结构

Office 解决方案使用部署清单和应用程序清单来标识程序集。 清单包含有关程序集的名称、版本和位置的信息,以便应用程序可以找到、链接到并运行正确的程序集。 有关详细信息,请参阅 Office 解决方案中的应用程序和部署清单

除了程序集之外,文档级项目还包括文档。 文档充当应用程序的前端,是所有用户交互的位置。 每个文档只能有一个与之关联的主项目程序集;但是,多个文档可以指向同一程序集。

文档级项目中的程序集未嵌入到文档中;而是存储在其他位置,并由文档的应用程序清单标识。

程序集的安全注意事项

若要使 Office 解决方案在计算机上运行,必须信任解决方案使用的程序集才能运行。 有关安全性的详细信息,请参阅 安全 Office 解决方案

默认情况下,生成项目时,解决方案程序集以及项目输出文件夹中引用的任何程序集均被信任,可在开发计算机上运行。 有关详细信息,请参阅 生成 Office 解决方案

出于安全原因,最好在本地计算机上创建项目,而不是在本地位置上进行开发。 有关详细信息,请参阅 Office 解决方案的协作开发

引用的程序集

程序集可以引用项目引用中列出的其他程序集。 但是,一个文档级项目程序集不能引用另一个文档级项目程序集。