Debuggen von Plug-Ins

Der Prozess des Schreibens, Registrierens und Debuggens eines Plugins ist:

  1. Erstellen Sie ein .NET Framework-Klassenbibliotheksprojekt in Visual Studio
  2. Fügen Sie das Microsoft.CrmSdk.CoreAssemblies NuGet-Paket dem Projekt hinzu
  3. Implementieren Sie die IPlugin-Schnittstelle in Klassen, die als Schritte registriert werden.
  4. Fügen Sie Ihren Code der Execute-Methode hinzu, die für die Schnittstelle erforderlich ist
    1. Rufen Sie Referenzen auf Dienste ab, die Sie benötigen
    2. Fügen Sie Ihre Geschäftslogik hinzu
  5. Signieren und erstellen Sie die Assembly
  6. Testen des Assemblys.
    1. Registrieren des Assemblys in einer Testumgebung
    2. Fügen Sie Ihre registrierten Assembly und Schritte einer nicht verwalteten Lösung hinzu
    3. Das Verhalten der Assemblys testen
    4. Überprüfen Sie, ob erwartete Ablaufverfolgungsprotokolle geschrieben werden.
    5. Die Assembly nach Bedarf debuggen

Der Inhalt in diesem Thema behandelt die oben fett gedruckten Schritte und unterstützt die folgenden Tutorials:

Testen Sie Ihre Assembly

Die einfachste Methode, Ihre Assembly zu testen, kann einfach darin bestehen, den Vorgang manuell mit der App durchzuführen. Sie sollten sich aber auch darüber im Klaren sein, dass Ereignisse, die zur Ausführung von Plug-ins führen, auf verschiedene Weise ausgelöst werden können, z. B. durch eine Tabelle, die von einem Workflow erstellt wurde, oder durch die Webdienste.

Die Informationen zum Ausführungskontext können unterschiedlich sein, je nachdem, wie die Aktion ausgeführt wird. Wenn Sie Ihr Plug-In schreiben, stellen Sie sicher, dass Sie defensive Programmierpraktiken anwenden und nicht davon ausgehen, dass jeder Wert, den Sie erwarten, immer vorhanden sein wird.

Sie können ein Programm schreiben, das die Ausführung der Vorgänge automatisiert, die Ihr Plug-In zum Auslösen bringen und eine Reihe von möglichen Variationen beinhaltet.

Wenn Sie ein Testautomatisierungs-Framework verwenden möchten, werden Sie feststellen, dass die Community einige Tools dafür entwickelt hat. Weitere Informationen: Testtools für serverseitige Entwicklung

Ablaufverfolgung verwenden

Wie in Ablaufverfolgungsdienst beschrieben, können Sie Nachrichten in die PluginTraceLog-Tabelle innerhalb des Codes Ihres Plug-Ins schreiben, indem Sie ITracingService. Trace verwenden Methode verwenden.

Bevor Sie diesen Service nutzen können, müssen Sie in Ihrer Microsoft Dataverse-Umgebung die Ablaufverfolgung aktivieren. Der Prozess ist in Ablaufverfolgungsprotokolle anzeigen beschrieben.

Hinweis

Die Ablaufverfolgungsprotokollierung erfordert Organisationsspeicherplatz, insbesondere wenn viele Ablaufverfolgungen und Ausnahmen generiert werden. Sie sollten die Ablaufverfolgungsprotokollierung nur für das Debugging und die Problembehandlung aktivieren, und deaktivieren, wenn die Überprüfung abgeschlossen ist.

Während des Debuggens können Sie die Ablaufverfolgungsprotokolle für eine bestimmte Plug-In-Klasse über die Web-API in Ihrem Browser einfach abfragen. Wenn Ihre Assembly den Namen BasicPlugin.FollowUpPlugin hat, können Sie diese Abfrage in Ihrem Browser-Adressfeld verwenden:

GET <your org uri>/api/data/v9.0/plugintracelogs?$select=messageblock&$filter=startswith(typename,'BasicPlugin.FollowUpPlugin')

Die JSON-Ergebnisse werden wie beschrieben an Ihren Browser zurückgegeben:

{
    "@odata.context": "<your org uri>/api/data/v9.0/$metadata#plugintracelogs(messageblock)",
    "value": [{
        "messageblock": "FollowupPlugin: Creating the task activity.",
        "plugintracelogid": "f0c221d1-7f84-4f89-acdb-bbf8f7ce9f6c"
    }]
}

Tipp

Dies funktioniert am besten, wenn Sie ein Browser-Plug-In installieren, das das zurückgegebene JSON formatiert. Oder Sie möchten Postman verwenden. Weitere Informationen: Postman mit der Web-API verwenden

Sie können auch den XrmToolbox Plugin Ablaufverfolgungsanzeige verwenden. Dieses Community-Tool wird von Microsoft nicht unterstützt. Wenn Sie Fragen zu diesem Tool haben, setzen Sie sich bitte mit dem Herausgeber in Verbindung.

Ablaufverfolgungsmeldungen finden sich auch in der Protokolldatei, die heruntergeladen werden kann, wenn eine synchrone Plug-In- oder benutzerdefinierte Workflow-Assembly einen Fehler auslöst, der zu einem Fehlerdialog führt, der dem Benutzer angezeigt wird. Der Benutzer kann die Schaltfläche Protokolldatei herunterladen auswählen, um das Protokoll mit den Details der Ausnahme und der Ablaufverfolgungsausgabe anzuzeigen.

Bei asynchronen registrierten Plug-Ins oder benutzerdefinierten Workflow-Assemblys, die eine Ausnahme zurückgeben, werden die Ablaufverfolgungsinformationen im Bereich Details des Systemauftrag-Formulars in der Webanwendung angezeigt.

Hinweis

Wenn Ihr angepasster Code innerhalb einer Datenbanktransaktion ausgeführt wird und eine Ausnahme auftritt, die einen Transaktions-Rollback verursacht, werden alle Tabellendatenänderungen durch Ihren Code rückgängig gemacht. Die Datensätze der Tabelle PluginTraceLog bleiben jedoch nach Abschluss des Rollbacks erhalten.

Plug-In-Profiler verwenden

Plug-in-Profiler ist eine Lösung, die Sie in Ihrer Umgebung installieren können, mit der Sie den Ausführungskontext eines Plug-Ins erfassen und dann diese Daten verwenden können, um das Ereignis während des Debuggens in Visual Studio erneut abzuspielen.

Eine Anleitung zur Installation und Verwendung des Plug-in-Profilers finden Sie im Lernprogramm: Debuggen eines Plug-Ins. Siehe Plug-In-Profiler installieren und Ihr Plug-In debuggen.

Plug-In-Profildaten anzeigen

Nachdem Sie den Plug-in-Profiler installiert und einige Profile erfasst haben, können Sie den Ereigniskontext anzeigen und Daten wiedergeben, die beim Debuggen verwendet werden. Die Anzeige dieser Daten kann Ihnen helfen, die Kontextdaten der Ausführung zu verstehen, die Ihr Plug-In verwenden kann.

Sie können diese Daten mit dem Plug-in-Registrierungstool anzeigen, indem Sie den Befehl Plug-In-Profil anzeigen wählen. Dadurch wird der Dialog Plugin-Profil geöffnet.

Plug-In-Profil öffnen.

Wählen Sie das Download-Symbol aus. Symbol und geben Sie im Dialog Profil aus CRM auswählen das zu verwendende Protokollelement an.

Profil aus CRM auswählen.

Und wählen Sie dann Ansicht im Dialogfeld Plug-In-Profil aus.

Dadurch wird eine geöffnete XML-Datei mit den Profilinformationen heruntergeladen. Das Context-Element stellt den Ausführungskontext dar, der an das Plug-In übergeben wird.

Beispiel-Profildaten.

Weitere Informationen

Testtools für serverseitige Entwicklung

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).