SharePoint: Erstellen einer WorkFlow-Vorlage mit Visual Studio

Seit einigen Tagen versuche ich mittels Visual Studio eine SharePoint-Vorlage zu erstellen welche ich in beliebigen Listen/Bibliotheken wiederverwenden kann. Hierfür habe ich jedoch in den entsprechenden Workflow-Wizards in Visual Studio keine Option gefunden. Meine Workflows waren stets an eine definierte Liste gebunden und waren dann auch nur bei eben dieser Verfügbar.

Laut der SharePoint-Dokumentation sollte das jedoch möglich sein:

A workflow can be written as a template so that after it is deployed, it can be reused and associated with any list or library.

Nun habe ich jedoch eine vermeintliche Lösung gefunden. Wenn während der Erstellung eines neuen Listen-Workflows keine Bezugsliste angegeben wird, die Eigenschaft also leer gelassen wird, steht dieser Workflow in SharePoint als Vorlage zur Verfügung und kann an eine beliebige Liste  gebunden werden. Über den Menüpunkt „Workflow hinzufügen“ in einer SharePoint-Liste kann dann auch eine entsprechende Aufgabenliste und Verlaufsliste zur Laufzeit gebunden werden.

SharePoint-Systemhaus Stuttgart

SharePoint Lookup-Spalte deklarativ über CAML XML hinzufügen

<Field ID="{72a29af6-e5d0-4daa-9ee4-19b27397f7bf}"
       Name="MyCustomLookupColumn"
       DisplayName="My Custom Lookup Column"
       Type="Lookup"
       Required="FALSE"
       Group="Custom Site Columns"
       List="Lists\LookUpSourceList"
       ShowField="Title"
       PrependId="True">
</Field>

Es gibt hier drei Eigenschaften, die nicht in der Standardseitenspaltendefinition enthalten sind. Der erste ist „Liste“, wie vielleicht zu vermuten, zeigt es auf die URL der Liste in der Website. In diesem Beispiel weiß ich, dass ich die Titelspalte in einer Liste unter Lists\LookUpSourceList suche. Die nächste Eigenschaft ist „ShowField“. Richtig, das ist das Feld, das in der Lookup-Spalte angezeigt werden soll. Über die letzte Eigenschaft „PrependId“ wird definiert ob die Nachschlagspalte die ID vor dem Wert zurück geben soll.

SharePoint-Systemhaus Stuttgart

SharePoint: Activity could not be loaded because of errors in the XAML.

Oder: Die Aktivität konnte aufgrund von Fehlern in der XAML nicht geladen werden.

Während der Entwicklung eines SharePoint-AddIns in Visual Studio habe ich einen Workflow zum Projekt hinzugefügt. Darauf überraschte mich die folgende Ansicht im Workflow-Designer.

In der Fehlerliste ist als Grund unter Anderem der folgende Fehler aufgeführt:

Typ "Microsoft.SharePoint.DesignTime.Activities.Design.ViewStateNameValue" wurde in Assembly "Microsoft.SharePoint.DesignTime.Activities.16.0.Design" nicht gefunden.

Ein Blick in die Referenzen zeigte in meinem Fall, dass die Bibliothek Microsoft.SharePoint.DesignTime.Activities.16.0.Design.dll überhaupt nicht referenziert wurde. Lediglich eine Datei namens Microsoft.SharePoint.DesignTime.Activities.16.0.dll.

Nachdem die fehlende Referenz zum Projekt hinzugefügt wurde, verschwand die Fehlermeldung und das Projekt ließ sich bauen.

SharePoint-Systemhaus Stuttgart