Ein Plug-In mit Visual Studio erstellen
Dieser Artikel enthält Informationen zum Erstellen eines Plug-Ins mit der Power Platform Tools-Erweiterung für Visual Studio.
Anforderungen
- Visual Studio 2019 oder 2022
- Power Platform Tools-Erweiterung für Visual Studio
- .NET Framework 4.6.2 ist für Plug-In- oder benutzerdefinierte Workflowaktivitätsentwicklung erforderlich
- Power Apps-Abonnement oder eine Testumgebung
Erstellen Sie eine Lösung mit Plug-In-Bibliothek
Folgen Sie dieser Anleitung, um eine Lösung mit der Plug-In-Bibliothek zu erstellen, sich mit Ihrer Power Platform-Umgebung zu verbinden und benutzerdefinierte Codeassemblys, Schritte und mehr zu registrieren.
Verwenden Sie die Power Platform Tools-Erweiterung für Visual Studio , um eine neue Lösung mit einer Plug-In-Bibliothek zu erstellen. Anweisungen finden Sie im Artikel Ein Power Platform Tools-Projekt erstellen.
Wenn Sie bereits eine Lösung eingerichtet haben, dann folgen Sie den Anweisungen in Neues Projekt einer Power Platform-Lösung hinzufügen, um ein Plug-In-Bibliotheksprojekt zur Lösung hinzuzufügen, indem Sie die Power Platform Tools-Vorlage verwenden.
Wählen Sie im Menü Tools Mit Dataverse verbinden aus.
Aktivieren Sie die gewünschten Optionen im Dialog und wählen Sie Anmelden.
Wählen Sie eine bestehende Lösung oder die Standard-Lösung. Diese Lösung enthält Ihre registrierten Plug-In- und Workflowaktivität-Assemblys für die spätere Verteilung an andere Umgebungen.
Wenn Sie fertig sind, wählen Sie Fertig aus.
Die Power Platform-Explorer-Ansicht wird angezeigt. Alternativ können Sie diese Ansicht über das Menü Ansicht öffnen. Erweitern Sie die Knoten, um zu sehen, welche Arten von Umgebungsdaten Sie anzeigen können. Klicken Sie mit der rechten Maustaste auf Knoten, um zu sehen, welche Optionen verfügbar sind.
Anmerkung
Die Power Platform-Explorer-Ansicht der Power Platform Tools-Erweiterung kann mehr als nur Plug-Ins und Workflowaktivitäts-Registrierungen. Die Dokumentation für zusätzliche Funktionen wird in einer zukünftigen Dokumentationsversion bereitgestellt. Lernen sie inzwischen die Optionen kennen.
Einen Plug-In-Schritt bei Dataverse registrieren
Befolgen Sie diese Anweisungen, um einen Plug-In-Schritt (auch als SDK-Nachrichtenverarbeitungsschritt bezeichnet) zu registrieren. Der Schritt gibt an, welche Datentabelle und die Ausführung welchen Ereignisses Ihr Plug-In veranlasst. Weitere Informationen: Ereignisframwork, Plug-In-Schritt registrieren
Wählen Sie Ansicht>Power Platform Explorer aus, erweitern Sie Ihren Umgebungsknoten und die Tabellen-Unterknoten.
Klicken Sie mit der rechten Maustaste auf den Tabellentyp (zum Beispiel „Konto“), für den der Schritt registriert werden soll, und wählen Sie dann Plug-In erstellen.
Anmerkung
Sie können auch ein Plug-In erstellen, indem Sie den Ereigniskatalog erweitern, einen Rechtsklick auf das Geschäftsereignis machen und Plug-In hinzufügen auswählen.
Geben Sie die Informationen für den Dialog Neuen Schritt registrieren ein und wählen Sie Neuen Schritt registrieren, wenn Sie fertig sind.
Der Klassenname, den Sie beim Ausfüllen der Schritt-Informationen angeben, wird zum Benennen Ihrer neuen Plug-In-Klasse verwendet. Die Klasse wird in der Plug-In-Projektbibliothek abgelegt, die durch das Handler-Assembly-Dialogfeld spezifiziert wird. Wenn die Lösung nur ein Plug-In-Bibliotheksprojekt enthält, ist das Feld Handler-Assembly inaktiv.
Eine neue Schrittregistrierung wird der Lösung hinzugefügt. Sie müssen jedoch Ihre Plug-In-Bibliothek erstellen und bereitstellen, bevor die Plug-In-Assembly und der Schritt der angegebenen Dataverse-Umgebung und -Lösung hinzugefügt werden.
Der Bibliothek eine weitere Plug-In-Klasse hinzufügen
Angenommen, Sie haben mit den zuvor beschriebenen Schritten eine Plug-In-Klasse in der Plug-In-Projektbibliothek erstellt und einen Schritt hinzugefügt. Jetzt möchten Sie derselben Bibliothek eine weitere Plug-In-Klasse hinzufügen. Wie machen Sie das? Sie haben zwei Optionen über die Kontextmenüs der Power Platform Tools-Erweiterung.
Die erste Methode besteht darin, wie zuvor beschrieben vorzugehen, indem Sie den Tabellenknoten in der Power Platform Explorer-Ansicht erweitern, mit der rechten Maustaste auf einen Tabellentyp klicken und dann Plug-In erstellen auswählen. Geben Sie beim Registrieren des Schritts dieselbe Plug-In-Projektbibliothek in der Handler-Assembly und den neuen Klassennamen im Formularfeld Klassenname an.
Nehmen wir für die zweite Methode an, dass Sie die Plug-In-Bibliotheks-Assembly bereits erstellt und in der Dataverse Umgebung bereitgestellt haben. In diesem Fall sehen Sie die bereitgestellte Assembly und den Schritt, den Sie erstellt haben, nachdem Sie die Explorer-Ansicht aktualisiert und die Knoten der Plug-In-Assemblys erweitert haben. An diesem Punkt können Sie einfach mit der rechten Maustaste auf den Zielbaugruppenknoten klicken und Plug-In hinzufügen auswählen. Dadurch wird das Schrittregistrierungsformular angezeigt, das Sie jetzt für Ihre neue Plug-In-Klasse ausfüllen können.
Erstellen Sie anschließend das Plug-In-Bibliotheksprojekt und stellen Sie es bereit, um die Zielumgebung und -lösung zu aktualisieren.
Einen Plug-in-Schritt hinzufügen
Sie können einen Schritt für ein vorhandenes registriertes Plug-In hinzufügen, das Ihnen gehört. Erweitern Sie dazu den Ziel-Plug-In-Assembly-Knoten in der Power Platform Explorer-Ansicht, um das registrierte Plug-In anzuzeigen. Klicken Sie mit der rechten Maustaste auf diesen Plug-In-Knoten, und wählen Sie Schritt hinzufügen aus. Füllen Sie das aus Formular Neuen Schritt registrieren.
Sie müssen das Plug-In-Projekt nicht erstellen und bereitstellen, damit die Schrittregistrierung in der Zielumgebung und -lösung verfügbar ist.
Die abstrakte PluginBase-Klasse
PluginBase
wird automatisch aus der Vorlage der Plug-In-Bibliothek generiert. Ihre benutzerdefinierte Plug-In-Klasse sollte von dieser Basisklasse abgeleitet werden. Die Basisklasse implementiert häufigen Plug-In-Code, der Sie schneller produktiver macht. Sehen Sie sich den PluginBase
-Klassencode in Ihrem Plug-In-Projekt an, um zu sehen, was es tut.
Der generierte Plug-In-Klassencode
Die Vorlage für die Plug-In-Bibliothek bietet die abstrakte PluginBase
-Klasse. Ihr Plug-In muss von der PluginBase
abgeleitet werden, wenn es gut mit der Power Platform Tools-Erweiterung zusammenarbeiten soll. Hier sehen Sie die generierte abgeleitete Klasse beim Erstellen eines Plug-Ins aus dem Power Platform-Explorer. Normalerweise fügen Sie Ihren Code dort hinzu, wo sich die TODO-Kommentare befinden. Beachten Sie, dass die Standard-IPlugin-Schnittstellenmethode Execute
jetzt ExecuteCdsPlugin
im Plug-In-Code ist.
using System;
using System.ServiceModel;
using Microsoft.Xrm.Sdk;
namespace PPTools_Sample_Solution.NotifyPlugin
{
public class NotifyAccountCreate: PluginBase
{
public NotifyAccountCreate(string unsecure, string secure)
: base(typeof(NotifyAccountCreate))
{
// TODO: Implement your custom configuration handling.
}
protected override void ExecuteCdsPlugin(LocalPluginContext localContext)
{
if (localContext == null)
{
throw new InvalidPluginExecutionException(nameof(localContext));
}
ITracingService tracingService = localContext.TracingService;
try
{
IPluginExecutionContext context = (IPluginExecutionContext)localContext.PluginExecutionContext;
IOrganizationService service = localContext.OrganizationService;
// TODO: Implement your custom Plug-in business logic.
}
catch (Exception ex)
{
tracingService?.Trace("An error occurred executing Plugin PPTools_Sample_Solution.NotifyPlugin.NotifyAccountCreate : {0}", ex.ToString());
throw new InvalidPluginExecutionException("An error occurred executing Plugin PPTools_Sample_Solution.NotifyPlugin.NotifyAccountCreate .", ex);
}
}
}
}
Jetzt fügen Sie Ihren benutzerdefinierten Plug-In-Code hinzu, wo durch die TODO-Codekommentare angegeben. Weitere Informationen finden Sie in einigen dieser dazugehörigen Artikel: Konfigurationsdaten Ihrem Plug-In übergeben, Verstehen des Ausführungskontextes und Nachverfolgung und Protokollierung.
Wichtig
Wir empfehlen Ihnen, die Kontextmenüs für Power Platform Tools zu verwenden. Wenn Sie die Power Platform Explorer-Kontextmenüs zum Hinzufügen von Plug-Ins verwenden, werden Klassen mithilfe der bereitgestellten Informationen generiert und Bereitstellungseinträge werden in der Datei RegisterFile.crmregister des CrmPackage-Projekts verwaltet. Diese Informationen werden für die Bereitstellung von Assemblys, Plug-Ins und Schritten verwendet.
Die Assembly signieren
Alle Plug-Ins und benutzerdefinierten Workflow-Assemblys müssen digital signiert werden, bevor sie auf den Dataverse-Server hochgeladen werden. Um die Assembly zu signieren, folgen Sie diesen Schritten.
Wählen Sie das Plug-In oder das Workflowaktivitätsprojekt im Projektmappenexplorer aus.
Wählen Sie Projekt><Projektname>Eigenschaften aus, um die Eigenschaften des Projekts zu bearbeiten.
Auf der Registerkarte Signatur aktivieren Sie Die Assembly signieren und geben Sie dann eine Schlüsseldatei mit starkem Namen an.
Das Plug-In in der Umgebungslösung bereitstellen
Nachdem Sie den Code geändert haben und bereit sind, die Plug-In-Assembly und die Schritte in Ihrer Umgebung bereitzustellen, führen Sie diese Schritte aus.
Erstellen Sie die Plug-In-Bibliothek.
Machen Sie im Projektmappen-Explorer einen Rechtsklick auf das Plug-In-Bibliotheksprojekt.
Wählen Sie im Kontextmenü Bereitstellen aus.
Trinkgeld
Sie können alle Projekte in der Visual Studio-Lösung bereitstellen, indem Sie mit der rechten Maustaste auf das CrmPackage-Projekt klicken und Bereitstellen auswählen.
Wählen Sie nach Abschluss der Bereitstellung das Aktualisierungssymbol im Power Platform-Explorer. Erweitern Sie den Unterknoten der Plug-In-Assemblys Ihres Umgebungsknotens, um Ihre registrierte Assembly anzuzeigen. Klicken Sie mit der rechten Maustaste auf die Plug-In-Assembly und den Schritt im Power Platform Explorer, um zu sehen, welche Vorgänge unterstützt werden. Wenn Sie Assembly löschen auswählen, werden die Registrierung der Assembly und die dazugehörigen Schritte aufgehoben.
Hinzufügen eines Entitätsbilds
Entitätsbilder sind Momentaufnahmen von Entitätsdaten vor oder nach dem Kernvorgang (z. B. eine Erstellung oder Aktualisierung). Sie können (optional) Entitätsbilder zu Plug-In-Schritten hinzufügen, indem Sie die Power Platform Explorer-Ansicht nutzen. Um in der Power Platform Explorer-Ansicht ein Bild einem Schritt hinzuzufügen, erweitern Sie der Plug-In-Assembly Knotenstruktur, um den Ziel-Plug-In-Schritt anzuzeigen. Klicken Sie dann mit der rechten Maustaste auf den Schritt, um das Kontextmenü anzuzeigen, aus dem Sie Bild hinzufügen auswählen können.
Sie können in der Power Platform Explorer-Ansicht auch über Ereigniskatalog in einem Schritt eines Ereignis-Plug-Ins ein Bild hinzufügen.
Füllen Sie das Formular aus, dass sich öffnet, nachdem Sie im Kontextmenü Bild hinzufügen ausgewählt haben.
Im Formular gibt vorheriges Bild/späteres Bild die Entitätsdaten so an, wie sie vor (vorherig) oder nach (später) dem Kernvorgang vorhanden sind. Das Feld Name legt den logischen Namen der Entität fest, für die Sie Daten möchten. Entity-Alias ist der benannte Index, den Sie in Ihrem Code verwenden, um die Zeile in der Bildtabelle zu identifizieren, die die Ziel-Entitätsdaten enthält. „Parameter“ ist die Liste der gewünschten Entitätsdatenspalten. Geben Sie nur die Spalten an, die Sie benötigen, da die Plug-In-Leistung verringert wird, je mehr Spalten Sie angeben.
Weitere Informationen: Definieren von Entitätsbildern.
Feedback zu Tools geben
Sie können Feedback zum Tool senden, indem Sie das Feedback-Symbol in der Microsoft Explorer-Ansicht verwenden. Power Platform
Siehe auch
Tutorial: Debuggen eines Plug-Ins
Veranstaltungsrahmen
Nutzen Sie Plug-Ins, um Geschäftsprozesse zu erweitern