0

我正在调查Sharepoint 2010功能升级框架,并通过网络我看到如何升级功能的示例通过添加一个新的字段到现有的内容类型和此像这样做:SharepPoint 2010功能升级动作重命名字段声明方式

<UpgradeActions> 

<VersionRange BeginVersion="0.0.0.0" EndVersion="0.9.9.9"> 

    <ApplyElementManifests> 

    <ElementManifest Location="SomeFunctionality_Iteration2\Elements.xml" /> 

    </ApplyElementManifests> 



    <AddContentTypeField ContentTypeId="0x010073f25e2ac37846bb8e884770fb7307c7" 

     FieldId="{536DC46C-DC26-4DB0-A97C-7C21E4362A85}" PushDown="TRUE"/> 

    <AddContentTypeField ContentTypeId="0x010073f25e2ac37846bb8e884770fb7307c7" 

     FieldId="{4E7A6719-011A-47EA-B983-A4941D688CA6}" PushDown="TRUE"/> 

什么,我不明白的是如何将我执行升级的功能,将重命名,* 删除 *或内容声明更改任何其他属性字段键入已部署的功能。

遍布网络我看到了如何添加字段的示例,但是如何使用功能版本控制和升级来更改现有属性的示例。

谢谢!

回答

0

您必须使用Feature接收器中的代码(在Feature_Updating中)执行此操作。使用CAML无法删除或重命名字段。

+0

但是,如果我直接更改包含(列表定义)内容类型定义的元素文件,并更新字段属性(如标题),那么当我在VS 2010中打开F5时,更改似乎在列表设置中显示。那可能吗? – Zapacila 2012-07-31 17:13:39

+0

我不确定列表的定义,但我可以对站点列和内容类型说话。如果您通过CAML停用了创建网站栏或内容类型的功能,则不会使用的网站栏或内容类型将被删除。那些正在使用的将不会被删除 - 事实上,它们不能被删除。 – 2012-07-31 18:28:39

+0

继续我的最后一条评论...因此,作为开发人员,您可以更改网站栏或内容类型的定义,只要网站栏或内容类型未被使用,只需重新部署即可实施这些更改。一旦它们出现,您需要使用Feature升级技术进行更改 – 2012-07-31 18:30:59