Häufige Fehler
Folgende Punkte können Ihnen bei der Fehlersuche Ihrer Aktivität weiterhelfen:
Wurde nach dem Import der Aktivität der WMS Dienst und das WMS Studio neu gestartet?
Mögliche Fehler:
Aktivität wird im Studio nicht angezeigt
Aktivität wird angezeigt, aber beim Starten erscheint ein Fehler: XamlWriterExcpetion: Cannot create unknown typ "<Klasse der Aktivität>".
Sehen Sie unter ProgramData-Verzeichnis nach, ob die Aktivität womöglich mehrfach vorhanden ist.
Auf dem Server: C:/ProgramData/Accantum/WmsActivities
Auf dem Client: C:/ProgramData/Accantum/WmsActivities
Wenn ja, beenden Sie Dienst und Studio und löschen Sie ältere Versionen
Mögliche Fehler:
Es wird eine alte Version verwendet und Änderungen greifen nicht
Wurde das Aktivitäten-Paket (zip-Datei aus dem Wizard) richtig zusammen gestellt?
Stellen Sie sicher, dass Sie im ersten Schritt NUR die dll mit Ihrer Aktivität hinzufügen und erst im zweiten Schritt die referenzierten Dritt-Bibliotheken (z.B. Newtonsoft.dll o.a.). Details: Erstellung eines Aktivitäten-Pakets
Inhalt
- 1 Wurde nach dem Import der Aktivität der WMS Dienst und das WMS Studio neu gestartet?
- 2 Sehen Sie unter ProgramData-Verzeichnis nach, ob die Aktivität womöglich mehrfach vorhanden ist.
- 3 Wurde das Aktivitäten-Paket (zip-Datei aus dem Wizard) richtig zusammen gestellt?
- 4 Could not load file or assembly 'xy.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
- 5 Sehen Sie in der Ereignisanzeige (Eventlog) des Clients und des Servers nach.
Could not load file or assembly 'xy.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
Dieser Fehler kann zwei Ursachen haben: Entweder die dll wurde aus einer nicht vertrauenswürdigen Umgebung in das WMS-Verzeichnis kopiert (1) oder es gib einen Konflikt zwischen denn dlls der Aktivität und des WMS (2).
(1) Zugriff auf eine dll wurde aus Sicherheitsgründen blockiert
"System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See <loadFromRemoteSources> Element for more information. "
Lösung:
Überprüfen Sie, ob Sie dlls aus dem Internet geladen haben und referenzieren:
Öffnen Sie das Eigenschaftsfenster der dll mit Rechtsklick
Aktivieren Sie unter Sicherheit die Option "Zulassen", damit das WMS die dll laden kann.
(2) Konflikte zwischen Abhängigkeiten der Aktivitäten und des WMS
Viele Aktivitäten nutzen die selben dlls wie das WMS. Dabei kann es zu Konflikten kommen, wenn unterschiedliche Versionen eingesetzt werden. Das WMS legt für seine Dlls fest, welche Version eingesetzt werden soll.
Beispiel: Aktivität 1 verwendet Newtonsoft.Json.dll 12.0.0, das WMS verwendet Newtonsoft.Json.dll 13.0.3.
> Es wird immer die Version des WMS verwendet (also 13.0.3). Dies ist in der WmsServices.exe.config, bzw. in der WmsWorkflowStudio.exe.config angegeben. (Zwei unterschiedliche Versionen können nicht geladen werden!)
Allerdings gibt es Fälle, in denen diese Lösung nicht funktioniert, da die verwendeten Versionen im Konflikt stehen. Dann ist ein Vergleich der dlls im Installationsverzeichnis des WMS und der Aktivität notwendig, um den Konflikt zu identifizieren. Damit die Aktivität dann in dieser WMS-Version lauffähig ist, ist eine Anpassung der abhängigen Version (ggf. eine ältere oder neuere) notwendig.