Característica Grapado Siempre devuelve el artículo no existe: puede haber sido eliminado por otro usuario
-
28-09-2020 - |
Pregunta
Estoy intentando crear una solución grapada de características que empuja la marca personalizada a cada nueva colección de sitios creada.El siguiente código está en mi receptor de eventos:
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();
}
}
}
}
}
}
Pero al desplegar la solución obtengo el error:
Error occurred in deployment step 'Activate Features': Item does not exist. It may have been deleted by another user.
¿Por qué ??
Solución
Al mirar su código, creo que el problema es
item.Delete();
item.Update();
Está actualizando el artículo después de que se esté eliminando, no es necesario actualizar el artículo después de eliminar.
No puede actualizar un elemento eliminado.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a sharepoint.stackexchange