更新 SharePoint 加载项

可以使用 SharePoint 中内置的更新支持来更新 SharePoint 加载项。 在将加载项的更新后版本上传到组织的加载项目录或 Office 应用商店接受加载项后的 24 小时内,在安装了加载项的所有网站的“网站内容”页上,加载项旁边都会显示通知“有可用更新”。 如图 1 所示,用户可以单击所提供的链接,立即安装更新。

图 1. SharePoint 外接程序更新过程

在 UI 上更新应用的步骤

用户在安装更新时无需先卸载较早版本。 更新基础架构会测试更新安装,如果有任何错误便会回滚安装。

重要

无法使用更新系统更改加载项类型。 例如,无法通过更新将加载项类型从 SharePoint 托管更改为提供商托管。 若要更改类型,需要从旧加载项迁移到新加载项。 特别是,由于自动托管加载项的预览计划已关闭,因此应注意无法将自动托管加载项更新为提供商托管加载项。 应按照将自动托管 SharePoint 加载项转换为提供商托管加载项中说明操作,转换加载项。

更新 SharePoint 加载项的先决条件

更新 SharePoint 加载项前,必须满足以下条件:

  • 已配置加载项隔离的测试 SharePoint 安装内容。 若要了解如何设置 Office 365 开发人员网站,请参阅在 Office 365 上设置 SharePoint 加载项开发环境

  • SharePoint 加载项创建工具,通常也用于更新加载项。 例如,大部分开发人员使用 Visual Studio 和 Microsoft Visual Studio 的 Office 开发人员工具创建 SharePoint 加载项。

更新 SharePoint 加载项需要了解的核心概念

更新加载项前,请先查看下表中的概念。

文章标题 说明
选择用于开发和托管 SharePoint 外接程序的模式 了解 SharePoint 外接程序的不同类型。更新过程因类型而异。
SharePoint 外接程序更新过程 了解更新 SharePoint 外接程序的过程。
升级功能 了解如何更新功能 (SharePoint 2010 SDK)。
部署和安装 SharePoint 外接程序:方法和选项 了解发布、安装和卸载 SharePoint 外接程序的方法。
处理 SharePoint 外接程序中的事件 了解 SharePoint 中的远程事件接收器。

更新加载项的主要步骤

下面介绍了创建 SharePoint 加载项更新时可能需要执行的主要步骤。 每一步都在链接的部分或文章中进行了详细介绍。 并非每个更新项目都需要执行所有步骤。 必须执行的步骤取决于加载项中的现有组件以及要添加的组件。 只有标有 ** 的项才是始终需要执行的步骤。

加载项更新的最佳做法

以下部分讨论了规划更新时您应该遵守的实践和要考虑的重要因素。

确定是否确实需要更新

对于提供程序托管 SharePoint 加载项,改进加载项不一定要更新加载项。 如果所有更改都针对的是远程组件,且这些更改不必反映在 SharePoint 组件中,可以更改远程组件,而不更新加载项。 只要 SharePoint 组件用于访问远程组件的 URL 和连接字符串没有变化,SharePoint 加载项就能继续运行。

例如,假设向远程 Web 应用添加一个按钮,用于从 Web 应用之前未读取的 SharePoint 列表读取列。 如果列表中已有此列,无需在 SharePoint 中更改任何内容。 可以将修改后的网页、修订后的代码隐藏或 JavaScript 上传到远程 Web 应用。 用户可以在启动 SharePoint 加载项时立即使用新功能。

请注意,用户可根据需要选择是否更新

如果 Office 应用商店或组织的加载项目录中有新版 SharePoint 加载项,“网站内容”页上的加载项磁贴中会显示消息,通知用户有可用更新。 等待不超过 24 小时即可看到此消息。 不过,SharePoint 基础结构不会强制用户进行更新。 因此,对远程组件所做的更改不得破坏旧版加载项。 不太通用的一般规则是,应向远程组件添加内容,但要避免删除、重命名、移动或更改任何现有组件的架构、连接字符串或 URL。

如果远程组件需要知道调用它的加载项实例版本,可以从 SharePoint 传递此信息。 例如,您可以在外接程序的 StartPage URL 上将外接程序版本添加为查询参数。

创建新版本并像对待全新外接程序一样调试新版本

应该将外接程序新版本的开发和调试与更新标记和逻辑的调试区分开。 为此,请从开发测试 SharePoint 网站卸载较早版本的外接程序。 保存较早版本外接程序包文件的备份副本。 根据需要添加和更改外接程序的组件,然后根据测试网站进行测试和调试,就像对待从头开始创建的全新外接程序一样。

使用每个旧版加载项测试更新

如果新版加载项作为“新”加载项正常运行,请重新生成代码和标记,让项目成为旧加载项的更新。 例如,如更新加载项的主要步骤中所述,递增加载项版本号。 若要详细了解如何让项目成为更新,请参阅本主题的子主题。

如果可以测试更新,请从测试网站撤回新版本,再重新部署旧版本,以便能够测试更新逻辑。 如果已随附多个旧版加载项,请在测试网站的不同子网站上安装各个旧版本。 然后,将最新版加载项上传到测试网站的加载项目录,并更新加载项的每个实例。 验证每个实例是否都有最新的加载项版本号和最新版本的所有组件。 如果加载项中有加载项 Web,请按照验证加载项 Web 组件的部署中的过程操作,验证是否已部署加载项 Web 组件。

更新加载项无需等待 24 小时

在 SharePoint 测试网站上部署加载项更新时,在两次更新之间等待 24 小时不切实际。 开发人员(以及生产 SharePoint 网站上的用户)可以在加载项上传到 Office 应用商店或组织的加载项目录后,通过执行以下步骤立即更新加载项。

立即更新加载项的具体步骤

  1. 将最新更新上传到加载项目录后,在安装加载项的网站中打开“网站内容”页,并选择加载项磁贴中的“...”按钮。

  2. 在随即打开的标注中,选择“关于”选项卡。在随即打开的“关于”页中,将会看到提示有新版本的通知。

  3. 选择“获取”按钮。 此时,“网站内容”页会重新打开,并且加载项磁贴上会显示通知,提示加载项正在更新。

图 2 展示了这些步骤。

图 2. 立即更新 SharePoint 外接程序的过程

立即升级应用的过程

注意

如果需要更频繁地查看外接程序磁贴中的“更新可用”通知,而不是每 24 小时查看一次,可以使用 SharePoint 外接程序的更新过程中描述的方法让通知立即显示。

更新加载项版本、权限请求和必备组件

创建 Visual Studio 项目文件夹的备份副本后,打开加载项项目。 打开加载项清单,并在清单设计器的“常规”选项卡中递增版本号。

如果加载项的更新后版本需要更多(或更少)对主机 Web 组件的权限,请根据需要更改加载项的 AppPermissionRequests 部分。 在 Visual Studio 中,使用清单设计器的“权限”选项卡。

更新加载项时,用户始终都会看到授予权限的提示,无论自旧版以来权限是否有变化。 如果新版需要的权限比旧版,旧版的其他权限不会遭撤消。 将外接程序限制为最新版本所需的权限的唯一方法是,用户在加载项更新后打开页面 {SharePointDomain}/_layouts/15/appinv.aspx ,然后手动输入符合 AppPermissionRequests 架构的权限标记。

如果加载项的更新后版本拥有旧版没有的必备组件(或不再拥有旧版中的一些必备组件),请根据需要更改加载项的 AppPrerequisites 部分。 在 Visual Studio 中,使用清单设计器的“必备组件”选项卡。

后续步骤

请继续转到更新加载项的主要步骤部分中的下一个项目符号,或直接转到以下文章之一:

另请参阅