Das Microsoft Dynamics 365 funktioniert gar nicht mehr oder bei spezifischen Aktionen (z.B. beim Speichern von Postfach Datensatz oder Anlegen von neuen Benutzern) treten folgende Meldungen an der GUI bzw. in Logs auf:
- “Plugin assembly kann nicht geladen werden”
- “Unable To Load Plug-in Assembly”
- “Microsoft.Dynamics.Service.Plugins.dll can not be loaded”
- “Die Datei oder Assembly [Assemblyname].dll oder eine ihrer Abhängigkeiten konnte nicht geladen werden”
- “File or assembly name [Assemblyname], or one of its dependencies, was not found”
- oder eine entsprechende Meldung in einer anderern Sprache
Die Ursache dafür sind fehlende Berechtigungen auf spezifische Dateiordner. Die Vergabe der Berechtigungen löst daher auch das Problem.
In einer älteren Version dieses Blogartikels hatten wir als Workaround ein manuelles Kopieren betroffener .dll-Dateien beschrieben.
Wir möchten hier nun entsprechend die Lösung und Ursache beschreiben, die wir selbst aus folgendem Artikel erfahren haben:
http://www.muhammetatalay.com/2019/03/assembly-microsoftdynamicsserviceplugin.html
Das Phänomen tritt nicht bei jeder Installation auf, scheint aber unseren Erfahrungswerten nach von folgenden Faktoren abhängig zu sein:
- Updaterollup 10 ist installiert – ist aber zusätzlich von einigen der Kombinationen folgender Punkte abhängig:
- Multi-Server Bereitstellung (Dynamics-Dienste und/oder SQL-Server auf verschiedenen Maschinen).
- Art und Weise der eingerichteten Dienstkonto-Konfiguration
- Hinweis: Dieser Blog Artikel hat nichts mit fehlenden Dritt-.dll’s zu tun, die man ggf. bei der Programmierung nicht mit in seine Assembly gemerged hat! Obige Meldungen könnten auch in diesem Fall auftreten. Benötigen Sie Hilfe bei Programmierarbeiten können wir Sie gerne dabei unterstützen. Melden Sie sich dazu einfach bei uns.
Nun zu den fehlenden Berechtigungen:
Die CRM-Serviceaccounts benötigen jeweils Vollzugriff auf “…\Dynamics 365\Server\bin” und “…\Dynamics 365\Server\bin\assembly” des Dynamics 365-Installationsverzeichnis des Servers.
Wir konnten beobachten, dass diese meistens auch gesetzt sind. Jedoch fehlt gehäuft die Berechtigung für die Ausführungsidentität des CRMAppPool.
Am einfachsten ist es, wenn man nur die fehlende Berechtigung beim “\bin”-Ordner ergänzt und für den “assembly”-Unterordner die Rechte-Vererbung aktiviert. Alternativ kann man die Berechtigungen dort aber natürlich auch manuell entsprechend ergänzen.
Unter Umständen ist anschließend ein IIS-Reset bzw. der Neustart der betroffenen Dienste nötig.
Benötigen Sie Unterstützung bei dem Thema oder benötigen Sie die Rechte-Einstellung spezifischer als Vollzugriff, dann nehmen Sie Kontakt zu uns auf.