功能装订始终返回项目不存在:可能已被另一个用户删除
-
28-09-2020 - |
题
我正在尝试创建一个功能装订解决方案,将自定义品牌推出为每个创建的每个新站点集。以下代码在我的事件接收器中:
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
using(SPSite sitecollection = properties.Feature.Parent as SPSite)
{
using (SPWeb site = sitecollection.OpenWeb())
{
foreach (SPWeb web in sitecollection.AllWebs)
{
try
{
SPList list = web.Lists.TryGetList("Composed Looks");
foreach (SPListItem item in list.Items)
{
if(item.Title != "Current" || item.Title != "Dynetics")
{
item.Delete();
item.Update();
}
}
}
finally
{
if(web != null)
{
web.Dispose();
}
}
}
}
}
}
.
但部署解决方案时,我收到错误:
Error occurred in deployment step 'Activate Features': Item does not exist. It may have been deleted by another user.
.
为什么??
解决方案
通过调查您的代码,我认为问题是
item.Delete();
item.Update();
.
您正在删除后更新项目,无需在删除后更新项目。
您无法更新删除的项目。