设计和创建 Office 解决方案

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

**适用于:**本主题中的信息适用于 Office 2013 和 Office 2010 的文档级项目和应用程序级项目。请参见按 Office 应用程序和项目类型提供的功能

创建 Office 项目

开始之前,应首先确定您的需求,并找到最合适的解决方案类型。例如,如果您的 Office 解决方案必须在每次使用应用程序时运行,则应用程序级外接程序最符合您的需求。如果代码与单个文档紧密集成,则应创建文档级自定义项。这些项目类型可以作为 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 Client Profile

  • .NET Framework 4.5

    说明说明

    只有 + 当为安装 Visual Studio 的 Microsoft Office Developer 工具 2012 年,Office 解决方案以 .NET Framework 4.5。有关更多信息,请参见中的“工具”下载页

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

如果迁移面向 .NET framework 3.5 的应用程序级外接程序项目,Visual Studio 将项目的目标 framework 更改为 .NET Framework 4。

如果为安装 Visual Studio 的 Microsoft Office Developer 工具 2012 年,Visual Studio 将项目的目标 framework 更改为 .NET Framework 4.5。

但是,在中,在 Visual Studio 中更改目标框架后,您可能需要修改项目中的某些代码,如果项目使用某些特定功能。有关如何更改目标框架的更多信息,请参见如何:面向 .NET Framework 的某个版本。有关项目中可能需要进行的更改的更多信息,请参见将 Office 解决方案迁移到 .NET Framework 4 或 .NET Framework 4.5

如果 Visual Studio 将项目的目标 .NET framework,并且要使用 ClickOnce 来部署解决方案,请确保也选择了对应的 .NET framework 版本。先决条件 对话框中。在更改项目的目标框架时,此选择不会自动更改。有关更多信息,请参见如何:在最终用户计算机上安装系统必备组件以便运行 Office 解决方案

说明说明

不能面向 Office 的 .NET framework 3.5 或更早版本不应通过使用 Visual Studio 2012,您将创建一个。Office 项目中使用 Visual Studio 2012 需要在 .NET Framework 4 Client Profile首次引入的功能

3295w01c.collapse_all(zh-cn,VS.110).gif了解最终用户计算机上何时需要 Office PIA

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

如果每个 Office 插入样式中 嵌入互操作类型 属性在项目引用设置为 false,则必须在全局程序集缓存中安装并注册 Office 插入样式无需在运行解决方案的每个最终用户计算机。在大多数情况下,PIA 在默认情况下随 Office 安装,但还可以将 PIA 可再发行文件作为解决方案的系统必备组件纳入其中。有关更多信息,请参见Office 解决方案的部署系统必备

3295w01c.collapse_all(zh-cn,VS.110).gif了解 Client Profile

.NET Framework Client Profile 是完整 .NET Framework 的子集。如果只需使用 .NET Framework 中的客户端功能,并且希望为 Office 解决方案提供最快的部署体验,您可以以 .NET Framework Client Profile 为目标。有关更多信息,请参见.NET Framework Client Profile

当您创建默认情况下 .NET Framework 4面向的 Office 项目时,.NET Framework 4 Client Profile 目标。如果要在完整的 .NET Framework 4开发,必须设置此选项,在创建项目之后。有关更多信息,请参见如何:面向 .NET Framework 的某个版本

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

Microsoft Office 2013 和 Office 2010 可在 64 位和 32 位版本。若要创建在这两个版本中都能运行的 Office 解决方案,您的项目的目标平台设置必须设置为**“Any CPU”**。这是 Office 项目的默认值。有关更多信息,请参见生成 Office 解决方案

具有由 Microsoft 使用 Office 2013 和 Office 2010的 64 位和 32 位版本 Visual Studio Tools for Office Runtime 的单独的 64 位和 32 位版本。有关更多信息,请参见Visual Studio Tools for Office Runtime 概述

Office 解决方案中的程序集

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

在 Office 解决方案中的程序集由 Office 应用程序加载。加载了程序集后,程序集中的代码可以响应,如的事件,以便在应用程序中引发,当用户单击菜单项时。程序集中的代码也可以调入对象模型自动化和扩展应用程序,并且,它在 .NET Framework可以使用任何选件类。有关更多信息,请参见文档级自定义项的体系结构应用程序级外接程序的体系结构

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

文档级项目包括一个文档和一个程序集。文档作为应用程序的前端,是所有用户进行交互的地方。每个文档只能有一个与之关联的主项目程序集;但多个文档可以指向同一个程序集。

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

程序集的安全注意事项

为在计算机上运行 Office 解决方案,在运行该解决方案所使用的程序集时必须信任此程序集。有关安全性的更多信息,请参见保护 Office 解决方案的安全

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

出于安全考虑,最好在您的本地计算机上创建项目,而不要在共享位置进行开发。有关更多信息,请参见合作开发 Office 解决方案

引用的程序集

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

请参见

任务

如何:在 Visual Studio 中创建 Office 项目

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

如何:为 Office 解决方案设置配置信息

概念

Visual Studio 环境中的 Office 项目

Office 项目中的属性

在 Microsoft Office 的不同版本中运行解决方案

Office 解决方案中的应用程序和部署清单

Office 编程中的常规任务

其他资源

Office 项目模板概述

在 Visual Studio 内使用 Office 功能

部署 Office 解决方案

开发 Office 解决方案

Visual Studio 中 Office 解决方案的体系结构