在 Microsoft Azure 上托管 Office 加载项

最简单的 Office 外接程序由一个 XML 清单文件和一个 HTML 页组成。 XML 清单文件描述加载项的特征,例如其名称、它可以在哪些 Office 桌面客户端中运行,以及外接程序的 HTML 页面的 URL。 HTML 页包含在一个 Web 应用中,用户在 Office 客户端应用程序中安装和运行外接程序时将与此 Web 应用进行交互。 可以将 Office 外接程序的 Web 应用托管在任意 Web 托管平台(包括 Azure)上。

本文介绍了如何将外接程序 Web 应用部署到 Azure 并旁加载外接程序以在 Office 客户端应用程序中进行测试。

先决条件

  1. 安装 Visual Studio 2019,并选择添加 Azure 开发工作负载。

    注意

    如果之前已安装 Visual Studio 2019,请使用 Visual Studio 安装程序,以确保安装 Azure 开发工作负载。

  2. 安装 Office。

    注意

    如果尚未安装 Office,可以注册 1 个月免费试用版

  3. 获取 Azure 订阅。

    注意

    如果还没有 Azure 订阅,可以通过 Visual Studio 订阅获取 Azure 订阅,也可以注册免费试用版

第 1 步:创建用于托管加载项 XML 清单文件的共享文件夹

  1. 打开开发计算机的文件资源管理器。

  2. 右键单击 C:\ 驱动器,然后选择“新建”>“文件夹”

  3. 将新文件夹命名为 AddinManifests。

  4. 右键单击 AddinManifests 文件夹,然后选择“共享”>“特定用户”

  5. 在“文件共享”中,选择下拉箭头,再依次选择“所有人”>“添加”>“共享”

注意

本演练要将本地文件共享用作受信任的目录,用来存储加载项 XML 清单文件。 在实际方案中,可以改为选择将 XML 清单文件部署到 SharePoint 目录,或将加载项发布到 AppSource

第 2 步:将文件共享添加到受信任的加载项目录

  1. 启动 Word 并创建文档。

    注意

    尽管本示例使用的是 Word,但也可以使用任何支持 Office 加载项的 Office 应用(如 Excel、Outlook、PowerPoint 或 Project)。

  2. 选择“文件”>“选项”。

  3. 在“Word 选项”对话框中,选择“信任中心”,然后选择“信任中心设置”

  4. 在“ 信任中心 ”对话框中,选择“ 受信任的外接程序目录”。 输入之前创建的文件共享的通用命名约定 (UNC) 路径,例如,目录 URL (\\YourMachineName\AddinManifests) ,然后选择 “添加目录”。

  5. 选中“在菜单中显示”复选框。

    注意

    外接程序 XML 清单文件存储在指定为受信任的 Web 外接程序目录的共享上时,加载项将显示在从“主页>>加载项获取外接程序”启动的 Office 外接程序对话框中的“共享文件夹”下。

  6. 关闭 Word。

第 3 步:使用 Azure 门户在 Azure 中创建 Web 应用

若要使用 Azure 门户创建 Web 应用,请完成以下步骤。

  1. 使用 Azure 凭据登录到 Azure 门户

  2. 在“Azure 服务”下,选择“Web 应用”。

  3. 在“应用服务”页面上,选择“添加”。 提供以下信息:

    • 选择要用于创建此站点的“订阅”

    • 为站点选择“资源组”****。 如果创建新组,还需为新组命名。

    • 为站点输入唯一的“应用名称”。 Azure 验证站点名称在整个 azureweb apps.net 域中是否是唯一的。

    • 选择使用代码还是 Docker 容器进行发布。

    • 指定“运行时堆栈”。

    • 为站点选择“操作系统”。

    • 选择“区域”。

    • 选择要用于创建此站点的“应用服务计划”。

    • 选择“创建”。

  4. 下一页将显示部署的进行状态和完成时间。 完成后,选择“转到资源”。

  5. 在“概述”节中,选择在“URL”下显示的 URL。 随即将打开浏览器,并显示包含“应用服务应用已启动且正在运行”消息的网页。

    重要

    强烈建议对加载项使用 HTTPS 终结点(尽管无需在所有加载项方案中都严格遵循此要求)。 不受 SSL (HTTPS) 保护的加载项会在使用期间生成不安全的内容警告和错误。 如果计划在 Office web 版 中运行加载项或将外接程序发布到 AppSource,则它必须受到 SSL 保护。 如果加载项访问外部数据和服务,它应受 SSL 保护,以保护传输中的数据。 自签名证书可用于开发和测试,但前提是证书在本地计算机上受信任。 Azure 网站自动提供 HTTPS 终结点。

第 4 步:在 Visual Studio 中创建 Office 加载项

  1. 以管理员身份启动 Visual Studio。

  2. 选择“创建新项目”。

  3. 使用搜索框,输入“加载程序”。

  4. 选择“Word Web 外接程序”作为项目类型,然后选择“下一步”以接受默认设置。

Visual Studio 将创建基本的 Word 外接程序,你可以按原样发布,无需对其 Web 项目进行任何更改。 若要为其他 Office 应用程序(如 Excel)创建加载项,请重复这些步骤,并使用所需的 Office 应用程序选择项目类型。

第 5 步:将 Office 外接程序 Web 应用发布到 Azure

  1. 在 Visual Studio 中打开外接程序项目后,展开“解决方案资源管理器”中的解决方案节点,然后选择“应用服务”。

  2. 右键单击 Web 项目,然后选择“发布”****。 Web 项目包含 Office 外接程序 Web 应用文件,因此,这是你可以发布到 Azure 的项目。

  3. 在“发布”选项卡上:

    • 选择“Microsoft Azure 应用服务”

    • 选择“选择现有”

    • 选择“发布”

  4. Visual Studio 会将 Office 外接程序的 Web 项目发布到 Azure Web 应用。 当 Visual Studio 完成 Web 项目的发布后,浏览器将打开并显示一个网页,其中包含文本“已创建App 服务应用”。这是 Web 应用的当前默认页面。

  5. 复制根 URL (例如: https://YourDomain.azurewebsites.net) ;本文稍后编辑外接程序清单文件时需要它。

第 6 步:编辑并部署加载项 XML 清单文件

  1. 在示例 Office 外接程序在“解决方案资源管理器”中打开的 Visual Studio 中,展开该解决方案以显示两个项目。

  2. 展开 Office 外接程序项目(例如 WordWebAddIn),右键单击清单文件夹,然后选择“打开”****。 随即打开外接程序 XML 清单文件。

  3. 在 XML 清单文件中,找到所有的“~remoteAppUr”实例,并将其全部替换为 Azure 上的加载项 Web 应用的根 URL。 这是之前在将外接程序 Web 应用发布到 Azure 后复制的 URL, (例如: https://YourDomain.azurewebsites.net) 。

  4. 选择“文件”,然后选择“全部保存”。 然后复制外接程序 XML 清单文件(例如 WordWebAddIn.xml)。

  5. 使用“文件资源管理器”程序浏览到在第 1 步:创建共享文件夹中创建的网络文件共享,并将清单文件粘贴到此文件夹。

第 7 步:在 Office 客户端应用程序中插入并运行加载项

  1. 启动 Word 并创建文档。

  2. 选择“ 主页>加载项”,然后选择“ 获取外接程序”。

  3. “Office 加载项 ”对话框中,选择“ 共享文件夹”。 Word扫描在步骤 2:将文件共享添加到受信任的外接程序目录) 中列出的受信任外接程序目录 (的文件夹,并在对话框中显示加载项。 应会看到示例外接程序的图标。

  4. 选择加载项的图标,然后选择 “添加”。 加载项的 “显示任务窗格 ”按钮将添加到功能区。

  5. 在“ 开始 ”选项卡的功能区上,选择“ 显示任务窗格 ”按钮。 加载项将在当前文档右侧的任务窗格中打开。

  6. 选中文档中的某文本,并选择任务窗格中的“突出显示!”按钮,验证加载项是否正常运行。

部署更新

在加载项中添加功能或修复 bug 时,需要部署更新。 如果外接程序由一个或多个管理员部署到其组织,则某些清单更改将要求管理员同意更新。 在授予同意之前,将阻止用户从外接程序中访问。 以下清单更改需要管理员再次同意。

注意

每当对清单进行更改时,都必须引发清单的版本号。

另请参阅