Créer des classes d’entité à liaison anticipée à l’aide de l’outil de génération de code (CrmSvcUtil.exe)

 

Date de publication : novembre 2016

S’applique à : Dynamics CRM 2015

CrmSvcUtil.exe est un outil de génération de code à partir de la ligne de commande à utiliser avec Mise à jour de Microsoft Dynamics CRM 2015 et de Microsoft Dynamics CRM Online 2015. Cet outil génère des classes .NET Framework à liaison anticipée qui représentent le modèle de données d’entité utilisé par Microsoft Dynamics 365. Il se trouve dans le package Kit de développement logiciel (SDK), dans le dossier SDK\Bin.Téléchargez le package Kit de développement logiciel (SDK) de Microsoft Dynamics CRM.

Contenu de la rubrique

À propos de l’outil de génération de code

Exécuter l’outil de génération de code

Paramètres

Exemples d’utilisation

Utiliser le fichier de configuration

Activer le traçage

À propos de l’outil de génération de code

L’outil CrmSvcUtil.exe crée un fichier de sortie Microsoft Visual C# ou Microsoft Visual Basic .NET qui contient des classes fortement typées pour les entités de votre organisation. Cela inclut les entités et attributs personnalisés. Ce fichier de sortie contient une classe pour chaque entité qui assure la liaison anticipée et la prise en charge d’IntelliSense dans Microsoft Visual Studio pour vous aider lorsque vous écrivez du code personnalisé. 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.

L’outil permet également de générer une classe dérivée de la classe OrganizationServiceContext qui sert de conteneur d’entité dans le modèle de données d’entité. 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 enregistrements dans Microsoft Dynamics 365. Pour plus d'informations, voir Utiliser la classe OrganizationServiceContext.

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.

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 Microsoft Dynamics 365. 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.dll

  • Microsoft.Xrm.Sdk.dll

Ces assemblys se trouvent dans le dossier SDK\Bin du Kit de développement logiciel (SDK).Téléchargez le package Kit de développement logiciel (SDK) de Microsoft Dynamics CRM.

Exécuter l’outil de génération de code

Exécutez l’outil CrmSvcUtil.exe à partir du dossier SDK\Bin. 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 montre le format d’exécution de l’outil à partir de la ligne de commande pour une installation locale de Microsoft Dynamics 365. Indiquez les valeurs des paramètres pour votre installation.

CrmSvcUtil.exe /url:http://<serverName>/<organizationName>/XRMServices/2011/Organization.svc    /out:<outputFilename>.cs /username:<username> /password:<password> /domain:<domainName>    /namespace:<outputNamespace> /serviceContextName:<serviceContextName>

L’exemple suivant présente le format d’exécution de l’outil à partir de la ligne de commande avec Microsoft Dynamics CRM Online. Indiquez les valeurs de paramètre appropriées pour vos compte et serveur.

CrmSvcUtil.exe /url:https://<organizationUrlName>.api.crm.dynamics.com/XRMServices/2011/Organization.svc    /out:<outputFilename>.cs /username:<username> /password:<password>     /namespace:<outputNamespace> /serviceContextName:<serviceContextName>

Pour le paramètre username, tapez le nom d'utilisateur utilisé pour se connecter à Compte Microsoft ou Microsoft Office 365. 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 /?

Lorsque vous exécutez l’outil dans Microsoft Dynamics CRM Online à l’aide du fournisseur d’identité Compte Microsoft, il n’est plus nécessaire de fournir les paramètres deviceid et devicepassword à partir de la ligne de commande. L’outil inscrit votre appareil automatiquement. Cependant, vous pouvez inscrire manuellement votre appareil et obtenir des valeurs pour ces paramètres en compilant et en exécutant l’exemple de code DeviceRegistration comme décrit ici.

Générer les ID et mot de passe individuels de votre appareil

  1. Ouvrez et générez le projet DeviceRegistration : SDK\Tools\DeviceRegistration\DeviceRegistration.csproj.

  2. Exécutez le fichier exécutable à partir de la ligne de commande. Pour inscrire votre appareil, affectez au paramètre /operation la valeur Register.

    C:\deviceregistration.exe /operation:Register
    
  3. Copiez les valeurs d’ID et de mot de passe affichées et utilisez-les comme valeurs des paramètres deviceid et devicepassword lorsque vous exécutez l’outil CrmSvcUtil.

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

Obligatoire

deviceid

di

ID de l’appareil utilisé lorsque vous vous connectez au serveur en ligne pour l’authentification. Requis uniquement si l’ID de l’appareil n’a pas été enregistré sur le disque dans le dossier %USERPROFILE%\LiveDeviceID. Utilisé uniquement avec le fournisseur d’identité Compte Microsoft.

Faux

devicepassword

dp

Mot de passe de l’appareil utilisé lorsque vous vous connectez au serveur en ligne pour l’authentification. Requis uniquement si le mot de passe de l’appareil n’a pas été enregistré sur le disque dans le dossier %USERPROFILE%\LiveDeviceID. Utilisé uniquement avec le fournisseur d’identité Compte Microsoft.

Faux

domain

d

Domaine d’authentification lorsque vous vous connectez au serveur.

Faux

url

URL du service d’organisation.

Vrai

out

o

Nom de fichier pour le 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 pour le 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

Supprime 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.

Exemples d’utilisation

Les exemples suivants montrent comment utiliser l’outil de génération de code à partir de la ligne de commande pour chaque type de déploiement. Notez que le nom d’utilisateur et le mot de passe sont des paramètres facultatifs. Si vos informations d’identification pour le serveur Microsoft Dynamics 365 cible sont stockées dans l’archivage sécurisé des informations d’identification Windows, il n’est pas nécessaire de les entrer pour exécuter l’outil de génération de code.

Authentification basée sur les revendications – Active Directory.

L’exemple suivant montre comment exécuter l’outil de génération de code à l’aide de l’authentification basée sur les revendications dans Active Directory. Notez l’utilisation du protocole https, car cet exemple de serveur utilise SSL (Secure Sockets Layer).

CrmSvcUtil.exe /url:https://myport:555/MyOrg/XRMServices/2011/Organization.svc /out:GeneratedCode.cs
   /username:administrator /password:password

Microsoft Dynamics CRM Online

L’exemple suivant montre comment exécuter l’outil de génération de code pour Microsoft Dynamics CRM Online. Le premier exemple concerne le fournisseur d’identité Compte Microsoft et le second le fournisseur d’identité Office 365.

CrmSvcUtil.exe /url:https://myorg.api.crm.dynamics.com/XRMServices/2011/Organization.svc    /out:GeneratedCode.cs /username:"myname@live.com" /password:"myp@ssword!" 

CrmSvcUtil.exe /url:https://myorg.api.crm.dynamics.com/XRMServices/2011/Organization.svc    /out:GeneratedCode.cs /username:"myname@myorg.onmicrosoft.com" /password:"myp@ssword!" 

Authentification basée sur les revendications - IFD

L’exemple suivant montre comment exécuter l’outil de génération de code à l’aide de l’authentification basée sur les revendications.

CrmSvcUtil.exe /url:https://myorg.crm.com:555/XRMServices/2011/Organization.svc     /out:GeneratedCode.cs /username:administrator /password:p@ssword! 

Utiliser le fichier de configuration

Le fichier de configuration CrmSvcUtil.exe.config doit être 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>

Voir aussi

Outils de développement
Parcourir les métadonnées de votre organisation
Créer des extensions pour l’outil de génération de code
Utiliser les classes d’entité à liaison anticipée pour la création, la mise à jour et la suppression
Conseils de dépannage
Exécuter un programme simple à l’aide des services Web Microsoft Dynamics CRM 2015

© 2017 Microsoft. Tous droits réservés. Copyright