Der Workflow bricht mit folgender Exception ab: System.NotSupportedException: Expression Activity type ‚CSharpValue`1‘ requires compilation in order to run. Please ensure that the workflow has been compiled.
Die Exception passiert im Element „System.Activities.Statements.FlowDecision“ wobei nichts kompliziertes abgefragt wird:
ApprovalDecision.SetStep("ApprovalManagement") && ApprovalDecision.IsApprovalNeeded(WorkflowInstanceID) && !ApprovalDecision.IsApprovalDone(WorkflowInstanceID, Invoice, Param1, Param2, ParamNew)
Meine Erste Vermutung war natürlich, dass irgendwas in den Funktionen eine Exception wirft, allerdings konnte ich die Ausführung nie dazu bringen bis zu den Breakpoints zu kommen. Somit stürzte das Ganze wohl schon früher ab.
Ich konnte immer wieder eine laufende Version zusammen bringen, in dem ich einen Parameter (nämlich ParamNew) weniger übergebe, den ich aber dringend brauche.
Nach langem hin und her, ist mir die Formatierung aufgefallen, es war wie folgt formatiert
ApprovalDecision.SetStep("ApprovalManagement") && ApprovalDecision.IsApprovalNeeded(WorkflowInstanceID) && !ApprovalDecision.IsApprovalDone(WorkflowInstanceID, Invoice, Param1, Param2, ParamNew)
und genau diese Formatierung ist das Problem! Löscht man die Leerzeichen und schreibt man alles schön hintereinander, dann gibt es die Exception nicht.
Lösung
ApprovalDecision.SetStep("ApprovalManagement") && ApprovalDecision.IsApprovalNeeded(WorkflowInstanceID) && !ApprovalDecision.IsApprovalDone(WorkflowInstanceID, Invoice, Param1, Param2, ParamNew)
Das Problem mit der Formatierung hat mich 3 Stunden gekostet!
Alle Angaben ohne Gewähr!