Démarrage rapide : créer un plug-in à l’aide de Power Platform Tools
Cet article fournit des informations sur la création d’un plug-in à l’aide de l’extension Power Platform Tools pour Visual Studio.
Conditions préalables
- Visual Studio 2019 ou 2022
- Extension Power Platform Tools pour Visual Studio
- .NET Framework 4.6.2 est obligatoire pour le développement de plug-in ou d’activité de workflow personnalisé
- Abonnement ou environnement de test Power Apps
Créer une solution avec une bibliothèque de plug-ins
Suivez ces instructions pour créer une solution pour la bibliothèque de plug-ins, connectez-vous à votre environnement Power Platform et inscrivez des assemblys de code personnalisés, des étapes, etc.
Utilisez l’extension Power Platform Tools pour Visual Studio pour créer une solution avec une bibliothèque de plug-ins. Pour obtenir des instructions, accédez à l’article Créer un projet Power Platform Tools dans le guide du développeur de Power Platform.
Si vous avez déjà une solution en place, suivez alors ces instructions dans Ajouter un nouveau projet à une solution Power Platformdans le guide du développeur Power Platform pour ajouter un projet de bibliothèque de plug-ins à la solution à l’aide du modèle Power Platform Tools.
Dans le menu Tools, sélectionnez Se connecter à Dataverse.
Sélectionnez les options souhaitées dans la boîte de dialogue et sélectionnez Connexion.
Sélectionnez une solution existante ou la solution Par défaut. La solution contiendra votre plug-in enregistré et vos assemblys activité de workflow pour une distribution ultérieure vers d’autres environnements.
Quand vous avez terminé, cliquez sur Terminé.
L’Explorateur Power Platform s’affiche, ou vous pouvez ouvrir cette vue à partir du menu Vue. Développez les nœuds pour voir les types de données d’environnement que vous pouvez afficher. Cliquez avec le bouton droit sur les nœuds pour voir quelles options sont disponibles.
Notes
La vue Explorateur Power Platform de l’extension Power Platform Tools peut faire davantage qu’inscrire des plug-ins et des activités de workflow. La documentation des fonctionnalités supplémentaires sera fournie dans une future version de la documentation. N’hésitez pas à les explorer en attendant.
Inscrire une étape de plug-in avec Dataverse
Suivez ces instructions pour inscrire une étape de plug-in (également appelée étape de traitement de message de SDK). L’étape identifie la table de données et l’événement qui entraînent l’exécution de votre plug-in. Pour plus d’informations : Infrastructure d’événements, Inscrire une étape de plug-in
Sélectionnez Afficher > Explorateur Power Platform, développez votre nœud d’environnement et le sous-nœud Tables.
Cliquez avec le bouton droit sur le type de table (par exemple, « Compte ») sur lequel l’étape doit être inscrite, puis sélectionnez Créer un plug-in.
Notes
Vous pouvez également créer un plug-in en développant Catalogue d’événements ; cliquez avec le bouton droit sur un événement professionnel et choisissez Ajouter un plug-in.
Renseignez les informations de la boîte de dialogue Inscrire une nouvelle étape et choisissez Inscrire une nouvelle étape lorsque vous avez terminé.
Le nom de classe que vous spécifiez lors du remplissage des informations sur l’étape est utilisé pour nommer votre nouvelle classe de plug-in. La classe est placée dans la bibliothèque de projets de plug-in spécifiée par le champ de la boîte de dialogue Assembly de gestionnaire. S’il n’y a qu’un seul projet de bibliothèque de plug-ins dans la solution, le champ Assembly de gestionnaire est inactif.
Une nouvelle inscription d’étape a été ajoutée à la solution. Cependant, vous devrez créer et déployer votre bibliothèque de plug-ins avant que l’assembly de plug-in et l’étape ne soient ajoutés à l’environnement et à la solution Dataverse spécifiés.
Ajouter une autre classe de plug-in à la bibliothèque
Supposons que vous ayez suivi les étapes ci-dessus pour créer une classe de plug-in dans la bibliothèque du projet de plug-in et ajouté une étape. Vous souhaitez maintenant ajouter une autre classe de plug-in à cette même bibliothèque. Comment devez-vous procéder ? Vous avez deux options, les deux utilisent les menus contextuels de l’extension des Power Platform Tools.
La première méthode consiste à procéder comme ci-dessus en développant le nœud Table dans la vue Explorateur Power Platform, en cliquant avec le bouton droit sur un type de table, puis en sélectionnant Créer un plug-in. Lors de l’enregistrement de l’étape, spécifiez la même bibliothèque de projet de plug-in dans l’Assembly de gestionnaire, et le nouveau nom de classe dans le champ de formulaire Nom de classe.
Pour la deuxième méthode, supposons que vous ayez déjà généré et déployé l’assembly de bibliothèque de plug-ins sur l’environnement Dataverse. Dans ce cas, vous verrez l’assembly déployé et l’étape que vous avez créée après avoir actualisé la vue de l’explorateur et développé le nœud Assembly de plug-in. À ce stade, vous pouvez simplement cliquer avec le bouton droit sur le nœud d’assembly cible et sélectionner Ajouter un plug-in. Cela affichera le formulaire d’enregistrement des étapes que vous pouvez maintenant remplir pour votre nouvelle classe de plug-in.
Ensuite, créez et déployez le projet de bibliothèque de plug-ins pour mettre à jour l’environnement et la solution cibles.
Ajouter une étape de plug-in
Vous pouvez ajouter une étape pour un plug-in enregistré existant que vous possédez. Pour ce faire, développez le nœud d’assemby de plug-in cible dans la vue Explorateur Power Platform pour afficher le plug-in enregistré. Cliquez avec le bouton droit sur le nœud du plug-in et sélectionnez Ajouter une étape. Remplissez le formulaire Enregistrer une nouvelle étape.
Vous n’avez pas besoin de créer et de déployer le projet de plug-in pour que l’enregistrement de l’étape soit disponible dans l’environnement et la solution cibles.
La classe abstraite PluginBase
La classe PluginBase
est générée automatiquement à partir du modèle de bibliothèque de plug-ins. Votre classe de plug-in personnalisée doit dériver de cette classe de base. La classe de base implémente un code de plug-in commun qui vous aide à gagner plus vite en productivité. Jetez un œil au code de la classe PluginBase
dans votre projet de plug-in pour voir ce qu’il fait.
Code de la classe de plug-in générée
Le modèle de bibliothèque de plug-ins fournit la classe abstraite PluginBase
. Votre plug-in doit dériver de la classe PluginBase
s’il doit fonctionner harmonieusement avec l’extension Power Platform Tools. Vous trouverez ci-dessous la classe dérivée générée lors de la création d’un plug-in à partir de l’Explorateur Power Platform. Vous devez généralement ajouter votre code là où se trouvent les commentaires TODO. Notez que la méthode Execute
de l’interface Iplugin standard a été remplacée par ExecuteCdsPlugin
dans le code du plug-in.
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);
}
}
}
}
À ce stade, vous devez ajouter votre code de plug-in personnalisé à l’endroit indiqué par les commentaires de code TODO. Pour plus d’informations, lisez certaines des rubriques connexes : Transmettre des données de configuration à votre plug-in, Présentation du contexte d’exécution, et Suivi et journalisation.
Important
Nous vous encourageons à utiliser les menus contextuels des Power Platform Tools. Lorsque vous utilisez les menus contextuels de l’Explorateur Power Platform pour ajouter des plug-ins, les classes sont générées à l’aide des informations fournies et les entrées de déploiement dans le fichier RegisterFile.crmregister du projet CrmPackage sont conservées. Ce sont ces informations qui sont utilisées pour le déploiement des assemblys, des plug-ins et des étapes.
Signer l’assembly
Tous les assemblys de plug-in et de workflow personnalisés doivent être signés numériquement avant d’être chargés sur le serveur Dataverse. Pour signer l’assembly, procédez comme suit.
Sélectionnez le plug-in ou le projet d’activité de workflow dans l’Explorateur de solution.
Choisissez Projet > <project name> Propriétés pour modifier les propriétés du projet.
Sur l’onglet Signature, cochez la case Signer l’assembly, puis spécifiez un fichier de clé de nom fort.
Déployer le plug-in dans la solution de l’environnement
Une fois que vous avez terminé de modifier le code et que vous êtes prêt à déployer l’assembly et les étapes de plug-in dans votre environnement, procédez comme suit.
Créez la bibliothèque de plug-ins.
Cliquez avec le bouton droit sur le projet de bibliothèque de plug-ins dans l’Explorateur de solutions.
Sélectionnez Déployer dans le menu contextuel.
Conseil
Vous pouvez déployer tous les projets dans la solution Visual Studio en cliquant avec le bouton droit sur le projet CrmPackage et en choisissant Déployer.
Une fois le déploiement terminé, sélectionnez l’icône d’actualisation dans l’Explorateur Power Platform. Développez le sous-nœud Assemblys de plug-in de votre nœud d’environnement pour voir votre assembly inscrit. Cliquez avec le bouton droit sur l’assembly de plug-in et accédez à l’Explorateur Power Platform pour voir quelles opérations sont prises en charge. La sélection de Supprimer l’assembly annulera l’enregistrement de l’assembly et de ses étapes associées.
Ajouter une image d’entité
Les images d’entité sont des instantanés de données d’entité avant ou après l’opération principale (par exemple : une création ou une mise à jour). Vous pouvez (éventuellement) ajouter des images d’entité aux étapes du plug-in en utilisant la vue Explorateur Power Platform. Pour ajouter une image à une étape dans la vue Explorateur Power Platform, développez l’arborescence de nœuds Assemblys de plug-in pour afficher l’étape du plug-in cible, puis cliquez avec le bouton droit sur l’étape pour afficher le menu contextuel et choisissez Ajouter une image.
Vous pouvez également ajouter une image dans la vue Explorateur Power Platform sous Catalogue d’événements sur une étape d’un plug-in d’événement.
Après avoir sélectionné Ajouter une image dans le menu contextuel, remplissez le formulaire qui apparaît.
Dans le formulaire, Avant image/Après image spécifie les données d’entité telles qu’elles existent avant ou après l’opération principale. Le champ Nom définit le nom logique de l’entité pour laquelle vous souhaitez obtenir les données. Alias d’entité est l’index nommé que vous utiliserez dans votre code pour identifier la ligne de la table image qui contient les données de l’entité cible. Paramètres est la liste des colonnes de données d’entité que vous souhaitez. Spécifiez uniquement les colonnes dont vous avez besoin, car les performances du plug-in seront réduites si vous spécifiez trop de colonnes.
Pour plus d’informations : Définir les images d’entité.
Étapes suivantes
En savoir plus sur le développement de plug-ins
Fournir des commentaires sur l’outil
Vous pouvez envoyer des commentaires sur l’outil à Microsoft en utilisant l’icône de commentaires dans la vue de l’Explorateur Power Platform.
Voir aussi
Power Platform Tools pour Visual Studio
Créer un projet Power Platform Tools
Didacticiel : Déboguer un plug-in
Infrastructure d’événement
Utiliser des plug-ins pour étendre les processus d’entreprise
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).