Feature Stapéning Toujours renvoie l'élément n'existe pas: il peut avoir été supprimé par un autre utilisateur
-
28-09-2020 - |
Question
Je tente de créer une solution agrafée d'une fonctionnalité qui pousse la marque personnalisée à chaque nouvelle collection de sites créée.Le code suivant est dans mon récepteur d'événement:
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();
}
}
}
}
}
}
mais lors du déploiement de la solution, je reçois l'erreur:
Error occurred in deployment step 'Activate Features': Item does not exist. It may have been deleted by another user.
pourquoi ??
La solution
En regardant dans votre code, je pense que le problème est
item.Delete();
item.Update();
Vous mettez à jour l'élément après la suppression, il n'est pas nécessaire de mettre à jour l'élément après Supprimer.
Vous ne pouvez pas mettre à jour un élément supprimé.
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange