Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le processus d′écriture, d′enregistrement et de débogage d′un plug-in est le suivant :
- Créez un projet de bibliothèque de classes .NET Framework dans Visual Studio
- Ajoutez le package NuGet
Microsoft.CrmSdk.CoreAssembliesau projet - Implémentez l′interface IPlugin sur les classes qui seront enregistrées comme étapes.
- Ajoutez votre code à la méthode Execute requise par l′interface
- Obtenez des références aux services dont vous avez besoin
- Ajoutez votre logique métier
- Signez et générez l′assembly
- Testez l′assembly
- Enregistrez l′assembly dans un environnement de test
- Ajoutez votre assembly enregistré et les étapes à une solution non gérée
- Testez le comportement de l′assembly
- Vérifiez que les journaux de suivi prévus sont écrits
- Déboguez l′assembly si nécessaire
Le contenu de cette rubrique couvre les étapes précédentes en gras et prend en charge les didacticiels suivants :
- Didacticiel : Entrez et enregistrez un plug-in
- Didacticiel : Déboguer un plug-in
- Didacticiel : Mettre à jour un plug-in
Testez votre assembly
Le moyen le plus simple de tester votre assembly peut être d′exécuter manuellement l′opération à l′aide de l′application. Mais vous devez également savoir que les événements qui provoquent l’exécution des plug-ins peuvent être déclenchés de plusieurs manières, comme une table créée à partir d’un flux de travail ou à partir des services web.
Les informations du contexte d’exécution peuvent être différentes selon la manière dont l’action est effectuée. Lors de la rédaction de votre plug-in, veillez à avoir des pratiques de programmation défensives et ne supposez pas que chaque valeur que vous attendez soit toujours là.
Vous souhaitez peut-être écrire un programme qui automatise l′exécution des opérations déclenchant votre plug-in et incluant plusieurs variations possibles.
Si vous souhaitez utiliser un cadre d′automatisation de test, sachez que la communauté a créé certains outils pour les tests automatisés. Pour plus d′informations : Outils de test pour le développement côté serveur
Utiliser le suivi
Comme décrit dans Service de traçage, vous pouvez écrire des messages dans la Table PluginTraceLog au sein du code de votre plug-in en utilisant la méthode ITracingService .Trace.
Avant de pouvoir utiliser ce service, vous devez activer le suivi dans votre environnement Microsoft Dataverse. Le processus est décrit dans Afficher les journaux de suivi.
Nonte
La journalisation du suivi occupe de l′espace sur le stockage de l′organisation, surtout lorsque de nombreux suivis et exceptions sont générés. Vous devez activer la journalisation du suivi uniquement pour déboguer et résoudre les problèmes, et la désactiver une fois votre enquête terminée.
Lors du débogage, vous pouvez facilement interroger les journaux de suivi pour une classe de plug-in à l′aide de l′API Web dans votre navigateur. Si votre assembly est nommé BasicPlugin.FollowUpPlugin, vous pouvez utiliser cette requête dans votre champ d′adresse du navigateur :
GET <your org uri>/api/data/v9.0/plugintracelogs?$select=messageblock&$filter=startswith(typename,'BasicPlugin.FollowUpPlugin')
Les résultats de JSON sont renvoyés vers votre navigateur comme suit :
{
"@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"
}]
}
Astuce
Cela fonctionne mieux si vous installez une extension de navigateur qui formate le JSON renvoyé. Ou bien, vous pouvez utiliser un client d′API comme Postman ou Insomnia, ou vous souhaitez utiliser VS Code avec PowerShell.
Vous préférez peut-être utiliser la Visionneuse de suivi de plug-ins XrmToolbox. Cet outil de la communauté n′est pas pris en charge par Microsoft. Si vous avez des questions relatives à cet outil, contactez l′éditeur.
Les messages de suivi sont également disponibles dans le fichier journal qui peut être téléchargé lorsqu′un plug-in synchrone ou l′assembly de workflow personnalisé génère une erreur qui entraîne une boîte de dialogue d′erreur pour l′utilisateur. L′utilisateur peut sélectionner le bouton Fichier journal de téléchargement pour afficher le journal contenant l′exception et le résultat de suivi.
Pour l′exécution des plug-ins inscrits asynchrones ou les assemblys de workflow personnalisées qui renvoient une exception, les informations de suivi sont affichées dans la zone Détails du formulaire Tâche système de l′application Web.
Nonte
Si votre code personnalisé s’exécute dans la transaction de base de données et si une exception provoque une restauration de la transaction, toutes les modifications apportées aux données de table par votre code sont annulées. Toutefois, les enregistrements de table PluginTraceLog perdurent après la restauration.
Utiliser le profileur de plug-ins
Le profileur de plug-ins est une solution que vous pouvez installer sur votre environnement, ce qui vous permet de capturer le contexte d′évolution d′un plug-in, puis d′utiliser les données pour lire à nouveau l′événement dans Visual Studio lors du débogage.
Des instructions sont disponibles pour installer et utiliser le profileur de plug-ins dans Didacticiel : Déboguer un plug-in. Consultez Installez-le profileur de plug-ins et Déboguer votre plug-in
Afficher les données de profil du plug-in
Après avoir installé le profileur de plug-ins et capturé certains profils, vous pouvez visualiser le contexte de l′événement et lire à nouveau les données utilisées lors du débogage. Le fait d′afficher ces données peut vous aider à comprendre les données du contexte d′exécution que votre plug-in peut utiliser.
Vous pouvez visualiser ces données à l′aide de l′outil Plug-in Registration en sélectionnant la commande Afficher le profil de plug-ins. Cela ouvre la boîte de dialogue Profil du plug-in
Sélectionnez l′icône
et, dans la boîte de dialogue Sélectionner le profil depuis CRM, spécifiez l′élément du journal à utiliser.
Puis sélectionnez Vue dans la boîte de dialogue Profil de plug-in.
Cela télécharge et ouvre un fichier XML avec les informations de profil. L′élément Context représente le contexte d′exécution transmis au plug-in.