【发布时间】:2012-01-25 22:42:22
【问题描述】:
我正在开发一个无法在 SharePoint 服务器上更新的 Web 部件,除非在 Web 部件库中将其删除。然后,我在 power shell 中运行:
- 更新-SPSolution ...
- 禁用-SPFeature ...
- 启用-SPFeature ...
我尝试在事件接收器中以编程方式删除库中的 Web 部件,但这会导致 SharePoint 失败:
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
using (SPWeb web = site.RootWeb)
{
SPList list = web.Lists["Web Part Gallery"];
// go through the items in reverse
for (int i = list.ItemCount - 1; i >= 0; i--)
{
// format name to look like a feature name
string webpartName = list.Items[i].Name;
webpartName = webpartName.Substring(0, webpartName.IndexOf('.'));
// delete web parts that have been added
if (properties.Feature.Definition.DisplayName == webpartName)
{
list.Items[i].Delete();
break;
}
}
}
}
知道我做错了什么吗?谢谢
【问题讨论】: