Générer des classes à liaison anticipée pour le service Organisation
Notes
Vous n’êtes pas sûr de l’entité par rapport à la table ? Voir Développeurs : Comprendre la terminologie dans Microsoft Dataverse.
CrmSvcUtil est un outil de génération de code à partir de la ligne de commande à utiliser avec Microsoft Dataverse. L’outil génère des classes .NET Framework à liaison anticipée qui représentent le Modèle de données d’entité (EDM) utilisé par Dataverse. L’outil de génération de code (CrmSvcUtil.exe) est distribué dans le cadre du package Microsoft.CrmSdk.CoreTools NuGet.
Notes
Pour plus d’informations sur le téléchargement de l’outil de génération de code, voir Télécharger les outils à partir de NuGet.
Générer des classes d’entité
L’outil CrmSvcUtil.exe crée un fichier de sortie Microsoft Visual C# ou Visual Basic .NET qui contient des classes fortement typées pour les tables de votre organisation. Cela inclut les tables et les colonnes personnalisées. Ce fichier de sortie contient une classe dérivée de Entity pour chaque table qui assure la liaison anticipée et la prise en charge IntelliSense dans Visual Studio pour vous aider lorsque vous écrivez du code. Les classes générées sont des classes partielles qui peuvent être étendues avec une logique métier personnalisée dans des fichiers distincts. Vous pouvez également créer des extensions de cet outil. Pour plus d’informations, voir Créer des extensions pour l’outil de génération de code.
Générer une classe OrganizationServiceContext
L’outil permet également de générer une classe dérivée de la classe OrganizationServiceContext qui sert de conteneur d’entité dans l’EDM. Ce contexte de service fournit les installations de suivi des modifications et de gestion des entités, de l’accès concurrentiel et des relations. Cette classe expose également une méthode SaveChanges() qui écrit, insère, met à jour et supprime des lignes de table dans Dataverse. Pour plus d’informations, consultez Utiliser OrganizationServiceContext.
Utiliser les classes générées
Les classes créées par l’outil de génération de code sont conçues pour être intégrées dans une bibliothèque de classes pouvant être référencée par les projets qui utilisent Dataverse. Après avoir généré le fichier de classe à l’aide de l’outil, vous devez l’ajouter à votre projet Visual Studio. Vous devez également ajouter les références à plusieurs assemblys dont dépendent les classes générées.
Voici les assemblys devant être référencés dans votre projet lorsque vous utilisez le fichier de code généré.
Microsoft.Crm.Sdk.Proxy.dllMicrosoft.Xrm.Sdk.dll
Ces assemblys font partie du package Microsoft.CrmSdk.CoreAssemblies NuGet. Utilisez les packages de NuGet pour ajouter ces assemblys à votre projet Visual Studio.
Exécuter l’outil de génération de code
L’outil de génération de code accepte plusieurs paramètres qui déterminent le contenu du fichier créé. Les paramètres peuvent être transmis à partir de la ligne de commande lorsque vous exécutez l’outil, ou dans un fichier de configuration d’application .NET.
Exécutez l’outil CrmSvcUtil.exe depuis le dossier Tools\CoreTools créé lorsque vous avez téléchargé les outils à l’aide du script décrit dans Télécharger les outils depuis NuGet. Si vous l’exécutez à partir d’un autre emplacement de dossier, assurez-vous qu’une copie de l’assembly Microsoft.Xrm.Sdk.dll se trouve dans le même dossier.
L’exemple suivant présente le format d’exécution de l’outil à partir de la ligne de commande avec Dataverse. Pour utiliser la connexion interactive, vous pouvez simplement fournir ces options :
CrmSvcUtil.exe /interactivelogin ^
/out:<outputFilename>.cs ^
/namespace:<outputNamespace> ^
/serviceContextName:<serviceContextName> ^
/generateActions
Lorsque vous exécutez l’outil avec l’option interactivelogin (raccourci il), une boîte de dialogue s’ouvre et vous pouvez préciser les identifiants de connexion ainsi que le serveur auquel vous souhaitez vous connecter.
Vous pouvez également préciser les paramètres que vous souhaitez transmettre directement dans la ligne de commande ou via un fichier (.bat) séquentiel que vous pouvez exécuter pour générer de nouvelles classes.
CrmSvcUtil.exe ^
/url:https://<organizationUrlName>.api.crm.dynamics.com/XRMServices/2011/Organization.svc ^
/out:<outputFilename>.cs ^
/username:<username> ^
/password:<password> ^
/namespace:<outputNamespace> ^
/serviceContextName:<serviceContextName>
Par exemple :
CrmSvcUtil.exe ^
/url:https://myorganization.api.crm.dynamics.com/XRMServices/2011/Organization.svc ^
/out:MyOrganizationSdkTypes.cs ^
/username:you@yourOrg.onmicrosoft.com ^
/password:myp455w0rd ^
/namespace:MyOrg ^
/serviceContextName:MyContext
Notes
Les exemples ci-dessus utilisent le caractère (^) pour diviser la liste des paramètres pour une meilleure lisibilité. Vous pouvez composer les paramètres de commande avec des arguments à l’aide du Bloc-notes, puis les coller dans la ligne de commande.
- Pour les paramètres
usernameetpassword, saisissez le nom d’utilisateur et le mot de passe utilisés pour vous connecter à Dataverse. - Pour le paramètre
url, vous pouvez rechercher l’URL correcte dans l’application Web en sélectionnant Paramètres, en accédant à Personnalisations, puis en choisissant Ressources du développeur. L’URL est affichée sous Service d’organisation.
Pour répertorier les paramètres de ligne de commande pris en charge, utilisez la commande ci-après.
CrmSvcUtil.exe /?
Paramètres
Le tableau suivant répertorie les paramètres de l’outil de génération de code et donne une brève description de leur utilisation.
| Paramètre | Raccourci | Description | Nécessaire |
|---|---|---|---|
deviceid |
di |
N’est plus nécessaire | Faux |
devicepassword |
dp |
N’est plus nécessaire | Faux |
domain |
d |
Domaine d’authentification lorsque vous vous connectez au serveur local. | Faux |
url |
URL du service d’organisation. | Vrai sauf si vous utilisez interactivelogin |
|
out |
o |
Nom de fichier du code généré. | Vrai |
language |
l |
Langage de génération du code. Les valeurs possibles sont « CS » ou « VB ». La valeur par défaut est « CS ». | Faux |
namespace |
n |
Espace de noms du code généré. La valeur par défaut est l’espace de noms global. | Faux |
username |
u |
Nom d’utilisateur à utiliser lorsque vous vous connectez au serveur pour l’authentification. | Faux |
password |
p |
Mot de passe à utiliser lorsque vous vous connectez au serveur pour l’authentification. | Faux |
servicecontextname |
Nom de la classe de contexte de service d’organisation générée. Si aucune valeur n’est fournie, aucun contexte de service n’est créé. | Faux | |
help |
? |
Affiche les informations d’utilisation. | Faux |
nologo |
Supprimer la bannière au moment de l’exécution. | Faux | |
generateActions |
Génère les classes de demande et de réponse pour les actions personnalisées. | Faux | |
interactivelogin |
il |
Lorsqu’elle est utilisée, une boîte de dialogue de connexion au service Dataverse s’affiche. Tous les autres paramètres de connexion spécifiés sur la ligne de commande sont ignorés. | Faux |
connectionstring |
connstr |
Contient des informations, fournies sous forme de chaîne unique, pour se connecter à une organisation Dataverse. Tous les autres paramètres de connexion spécifiés sur la ligne de commande sont ignorés. Pour plus d’informations, voir Utiliser les chaînes de connexion des outils XRM pour se connecter à Dataverse. | Faux |
Utiliser le fichier de configuration
Le fichier de configuration CrmSvcUtil.exe.config doit se trouver dans le même dossier que l’outil CrmSvcUtil.exe. Il utilise les paires clé-valeur standard dans la section appSettings. Toutefois, si vous entrez une valeur dans la ligne de commande, cette valeur est utilisée à la place de celle contenue dans le fichier de configuration. Les paires clé-valeur disponibles dans le fichier de configuration d’application qui ne correspondent pas aux paramètres attendus sont ignorées.
N’incluez pas les paramètres url et namespace dans le fichier de configuration. Ceux-ci doivent être entrés à partir de la ligne de commande lorsque l’outil CrmSvcUtil.exe est exécuté.
L’exemple suivant montre comment configurer le fichier de sortie et les paramètres de nom de domaine dans le fichier de configuration d’application à l’aide de raccourcis clavier.
<appSettings>
<add key="o" value="CrmProxy.cs"/>
<add key="d" value="mydomain"/>
</appSettings>
Activer le traçage
Pour activer le traçage lorsque vous exécutez l’outil, ajoutez les lignes suivantes au fichier de configuration :
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener">
<filter type="System.Diagnostics.EventTypeFilter" initializeData="Error" />
</add>
</listeners>
</trace>
</system.diagnostics>
Pour plus d’informations sur les options de traçage prises en charge, voir Configurer le traçage pour les outils XRM.
Outils de la communauté
Early Bound Generator est un outil de la communauté XrmToolbox. Consultez la rubrique Outils et ressources de développeur pour obtenir des outils supplémentaires développés par la communauté.
Notes
Les outils de la communauté ne sont pas un produit de Microsoft et n’étendent pas le support aux outils de la communauté. Si vous avez des questions relatives à cet outil, contactez l’éditeur. Pour plus d’informations : XrmToolBox.
Voir aussi
Programmation avec liaison anticipée et tardive à l’aide du service Organisation
Exemple : Opérations de table à liaison anticipée
Créer des extensions pour l’outil de génération de code
Outils et ressources de développeur
Télécharger les outils à partir de NuGet
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é).
Commentaires
Envoyer et afficher des commentaires pour