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 ??

Était-ce utile?

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
scroll top