功能升级概述

上次修改时间: 2010年7月9日

适用范围: SharePoint Foundation 2010

在 Microsoft SharePoint Foundation 中,每个功能都具有一个在与其对应的 Feature.xml 文件中指定的版本号。在某个特定范围内激活一个功能时,会创建一个与该功能的版本关联的功能实例。利用 SharePoint Foundation 中的功能版本控制,可轻松跟踪功能及其关联实例。之后,当您部署新版本的功能时,SharePoint Foundation 检测到关联的功能也需要进行升级,因为功能实例的版本号小于当前的 Feature.xml 文件中指定的新版本号。

备注

最佳做法是,决不将 FEATURES 文件夹中的功能文件与解决方案部署文件或解决方案升级文件分开放置,因为功能升级是一个高级部署选项,它不会在部署期间验证功能 XML。

在运行功能升级时,还会根据新 Feature.xml 文件中指定的升级操作对需要升级的功能实例进行升级。SharePoint Foundation 使用新的 QueryFeatures 方法(可应用于顶级对象,如 SPWebApplication 和 SPSite),基于功能实例的版本号来确定需要升级的功能实例。新 Feature.xml 文件中有一个部分,可用于指定将特定的功能实例从早期版本升级到最新版本所需的升级操作。升级基础结构会查询需要升级的功能实例集,然后升级其中的每个功能实例。此活动会涉及声明性升级操作和自定义升级代码。在 SharePoint Foundation 中,将跟踪每个功能实例的版本号。

按以下顺序依次升级功能:服务器场级别、Web 应用程序级别、网站集和特定网站。在网站级别,功能实例的升级顺序是:从根网站开始,然后按照子网站层次结构向下进行升级。将基于依赖性的顺序升级功能,也就是说,在升级功能之前,先升级这些功能所依赖的功能。

当升级期间出现错误时,升级将在指定的功能实例处停止,并在 ULS 日志和 Upgrade.log 文件中记录该错误。(通常,ULS 日志包含有关该错误的详细信息)。同时,继续对其他功能实例进行升级。在完成初始升级后并在重新启动此过程之前,管理员有机会发现并解决导致功能无法升级的问题。之后,当重新启动升级过程时,SharePoint Foundation 会对初次升级失败的功能重复所有升级操作,以便对所有功能和功能实例成功完成升级过程。

备注

使用服务器场管理员凭据运行功能升级。