Oggi, da novizio programmatore di Workflow per SharePoint, mi sono imbattuto nel primo “ostacolo”. Quello che volevo fare era semplicemente creare un workflow di esempio utilizzando Visual Studio 2008 e utilizzando il template apposito che viene messo a disposizione dai Visual Studio Tools for Office.
Niente di più semplice. Si crea il progetto scegliendo l’apposito template (nel mio caso un workflow sequenziale), si creano le attività, si compila e si testa andando in debug (o si rilascia direttamente).
Effettivamente risulta tutto molto semplice, ma se si sta lavorando con WSS 3.0 e non con MOSS 2007, ci sono delle piccole modifiche da fare. Prima di tutto il template fa riferimento all’assembly Microsoft.Office.Workflow.Tasks.dll che è disponibile solo in MOSS. Occorre quindi rimuovere la reference dal progetto.
Fatto questo e provando a fare il deploy (o debug) si ottiene però un altro errore:
Error 3 Feature '0837a41e-b8d2-43f5-87ae-94a35a018530' could not be installed because the loading of event receiver assembly "Microsoft.Office.Workflow.Feature, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" failed: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Office.Workflow.Feature, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.
Anche in questo caso si fa riferimento ad un assembly e ad una caratteristica (feature receiver) presente solo in MOSS. Per rimuovere l’errore occorre editare il file feature.xml ed eliminare dal tag <Feature> i due attributi ReceiverAssembly e ReceiverClass.
A questo punto tutto funziona alla perfezione.