[c#] Objekte ohne Namensraum und Deklaration in XML serialisieren.

Heute wollte ich ein Objekt nach Plain XML ohne Namespaces und ohne XML-Deklaration serialisieren. Der XmlSerializer fügt jedoch einen Standard Namespace und die XML-Deklaration automatisch ein. Um das zu vermeiden gibt es die folgende Möglichkeit:

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: WorkFlow bricht ab (System.ArgumentException: ContentTypeId)

Nach dem Kopieren und Aktualisieren eines WorkFlows verweigerte SharePoint die Ausführung mit der folgenden Meldung:

Das Wort ContentTypeId hat mir geholfen, die Ursache des Problems zu identifizieren. In meinem neuen Workflow-Task wurde die alte Workflow-TaskList verschoben. Somit war mein Custom-ContentType in der TaskList nicht mehr vorhanden.

Es gilt also zu prüfen ob die TaskList den eigenen ContentType enthält. Falls ja, prüfen ob der WorkFlow auch die korrekte TaskList nutzt.

Weiterführende Hilfe

SharePoint-Systemhaus Stuttgart

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

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:

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