设计和创建办公室解决方案

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

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

注意

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

创建办公室项目

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

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

选择 .NET Framework 版本

选择最适合你需求的项目类型之后,可以选择在开发过程中要使用的 .NET Framework 版本。 你可以选择 Office 项目中的以下 .NET Framework 版本作为目标:

  • .NET Framework 4

  • .NET Framework 4 Client Profile

  • .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 或更高版本,具体取决于已安装办公室的版本。

    但是,在 Visual Studio 更改目标框架之后,你可能需要修改项目中的某些代码才能使用某些功能。 有关如何更改目标框架的详细信息,请参阅 How to: Target a version of the .NET Framework. 有关项目中可能需要进行的更改的详细信息,请参阅将办公室解决方案迁移到 .NET Framework 4 或更高版本

    如果 Visual Studio 更改项目的目标 .NET Framework,并且正在使用 ClickOnce 部署解决方案,请确保还在“先决条件”对话框中选择相应版本的 .NET Framework。 此选择不会在你更改项目的目标框架时自动更改。 有关详细信息,请参阅 How to: Install prerequisites on end-user computers to run 办公室 solutions.

注意

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

了解最终用户计算机上何时需要办公室 PIA

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

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

了解客户端配置文件

.NET Framework Client Profile 是完整版 .NET Framework 的子集。 如果只需使用 .NET Framework 中的客户端功能,并且想要为你的 Office 解决方案提供最快的部署体验,则可以面向 .NET Framework Client Profile。 有关详细信息,请参阅 .NET Framework 客户端配置文件

创建面向 .NET Framework 4 的办公室项目时,默认情况下,.NET Framework 4 客户端配置文件是面向的。 如果要针对完整的 .NET Framework 4 进行开发,则必须在创建项目后设置此选项。 有关详细信息,请参阅如何:面向 .NET Framework 的某个版本

为 64 位版本的Microsoft 办公室创建解决方案

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

有单独的 64 位和 32 位版本的 Visual Studio Tools for 办公室 运行时,这些版本由 64 位和 32 位版本的Microsoft 办公室使用。 有关详细信息,请参阅 Visual Studio Tools for 办公室 运行时概述

办公室 解决方案中的程序集

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

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

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

文档级项目包括一个文档和一个程序集。 该文档可充当应用程序的前端,是所有用户发生交互的地方。 每个文档只能包含一个与之相关的主项目程序集;但是,多个文档可以指向同一个程序集。

文档级项目中的程序集不会嵌入到文档;而是存储到其他位置,可通过文档的应用程序清单进行标识。

程序集的安全注意事项

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

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

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

引用的程序集

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