如何:向现有功能中添加元素
上次修改时间: 2010年9月21日
适用范围: SharePoint Foundation 2010
基本功能升级方案可能包括以下过程中列出的步骤,在此过程中会向现有功能中添加新元素。
向现有功能中添加新元素
可向 Feature.xml 中添加 Version 属性(如果尚未添加),并将其设置为可能的值,例如 Version="2.0.0.0"(如果现有版本为 1.0.0.0)。如果不增大版本号,将不调用功能升级代码。
可向 Feature.xml 文件中添加 <UpgradeActions> 部分。
创建一个包含要添加到功能中的所有新元素的新 Elements.xml 文件,并为其指定唯一名称,例如,Elements2.xml。
在主 <ElementManifests> 部分和 <UpgradeActions> 部分中的 <ApplyElementManifests> 部分中引用 Elements2.xml 文件,如以下示例所示。
<Feature Id="712224F9-6708-4965-A18C-B73CA86AEFCA" Title="MyCoolFeature" Description="My cool feature." Version="2.0.0.0" Scope="Site" Hidden="FALSE" DefaultResourceFile="core" xmlns="https://schemas.microsoft.com/sharepoint/"> <ElementManifests> <ElementManifest Location="Elements.xml" /> <ElementManifest Location="Elements2.xml" /> </ElementManifests> <UpgradeActions <VersionRange EndVersion="2.0.0.0"> <ApplyElementManifests> <ElementManifest Location="Elements2.xml" /> </ApplyElementManifests> </VersionRange> </UpgradeActions> </Feature>
激活版本"2"功能时,将设置 Elements.xml 和 Elements2.xml 文件中的所有元素。在服务器场中运行升级时,功能升级基础结构将查询版本号低于 2.0.0.0 的功能的所有实例;并将为现有版本"1"功能实例增量设置 Elements2.xml 文件中的所有元素。如果不出错,则会在数据库中更新功能版本号。如果在升级版本"1"功能的特定实例时出错,将跳过该功能实例,并且不更新数据库中的版本号。后续的场升级将检测到功能实例尚未升级,并再次尝试对其进行升级。