Mi è capitato ultimamente, dopo aver fatto la migrazione da SharePoint 2010 a SharePoint 2013, che i vecchi Workflow custom partisserò due volte consecutivamente.

Dopo molto e molto tempo speso a cercare la soluzione alla fine ho risolto in questo modo:
Quando fate il deploy di un WorkFlow su Sharepoint viene automaticamente registrato un EventRecevier che ( all'update o all'inserimento di un item dipende dal vostro wf) lo fa scattare. Nel passaggio dal 2010 al 2013 può capitare che i vecchi Event Receiver non vengano ripuliti a dovere.
Ecco come risolvere:
1- Lanciare la powershell di sharepoint come amministratore
2- Eseguire il seguente script per visualizzare gli EventReceiver agganciati alla lista in questione
$spWeb = Get-SPWeb -Identity http://iltuosito.it
$spList = $spWeb.Lists["nomelista"]
$spList.EventReceivers | Format-List Id, Assembly, Type, Class

3- Come risultato otterrete l'elenco degli EventReceiver agganciati alla lista, verificate se ce ne sono con assembly version 14.0.0.0 che si chiamano SPWorkflowAutostartEventReceiver. 

4- Verificate la posizione contando gli event receiver partendo da zero per lanciare il comando di Delete che necessita dell'indice.
5- Eseguire lo script di delete 
$spList.EventReceivers[2].Delete() $spList.Update()
e il gioco e fatto. 
In bocca al lupo.
comments powered by Disqus