Crear las clases de entidad con enlace en tiempo de compilación con la herramienta de generación de código (CrmSvcUtil.exe)
Publicado: noviembre de 2016
Se aplica a: Dynamics CRM 2015
CrmSvcUtil.exe es una herramienta de generación de código de la línea de comandos para usar con Microsoft Dynamics CRM 2015 y actualización de Microsoft Dynamics CRM Online 2015. Esta herramienta genera clases de enlace en tiempo de compilación .NET Framework que representan el modelo de datos de la entidad usado por Microsoft Dynamics 365. Esta herramienta está en el paquete de SDK en la carpeta de SDK\Bin.Descargue el paquete de SDK de Microsoft Dynamics CRM.
En este tema
Acerca de la herramienta de generación de código
Ejecutar la herramienta de generación de códigos
Parámetros
Ejemplos de uso
Usar el archivo de configuración
Habilitar seguimiento
Acerca de la herramienta de generación de código
La herramienta CrmSvcUtil.exe crea un archivo de salida de Microsoft Visual C# o Microsoft Visual Basic .NET que contiene las clases con establecimiento inflexible de tipos para las entidades en su organización. Esto incluye las entidades y los atributos personalizados. Este archivo de salida contiene una clase para cada entidad, y brinda enlace en tiempo de compilación y soporte de IntelliSense en Microsoft Visual Studio para ayudarlo a medida que escribe el código personalizado. Las clases generadas son las clases parciales que pueden ampliarse con lógica empresarial personalizada en archivos separados. También puede crear extensiones para esta herramienta. Para obtener más información, vea Crear extensiones para la herramienta de generación de código.
La herramienta también se puede usar para generar una clase derivada de clases de OrganizationServiceContext que actúa como un contenedor de entidad en el modelo de datos de la entidad. Este contexto de servicio proporciona las instalaciones para realizar el seguimiento de los cambios y la administración de identidades, simultaneidad, y relaciones. Esta clase también expone un método de SaveChanges que permite escribir insertos, actualizar y eliminar registros en Microsoft Dynamics 365. Para obtener más información, vea Usar la clase OrganizationServiceContext.
La herramienta de generación de códigos toma varios parámetros que determinan los contenidos del archivo que se va a crear. Los parámetros se pueden efectuar desde la línea de comandos al ejecutar la herramienta o en un archivo de configuración de la aplicación conectado a .NET.
Las clases creadas por la herramienta de generación de códigos están diseñadas para integrarse a una biblioteca de clases referenciada por los proyectos que usan Microsoft Dynamics 365. Luego de haber generado el archivo de clase mediante la herramienta, debería agregar el archivo al proyecto de Visual Studio. También deberá agregar referencias a varios ensamblados de los que dependen las clases generadas.
A continuación se enumeran los ensamblados a los que se debe hacer referencia en el proyecto cuando se usa el archivo de código generado.
Microsoft.Crm.Sdk.Proxy.dll
Microsoft.Xrm.Sdk.dll
Estos ensamblados pueden encontrarse en la carpeta SDK\Bin de SDK.Descargue el paquete de SDK de Microsoft Dynamics CRM.
Ejecutar la herramienta de generación de códigos
Ejecute la herramienta CrmSvcUtil.exe desde la carpeta SDK\Bin. Si ejecuta la herramienta desde otra ubicación de la carpeta, asegúrese de que una copia del ensamblado Microsoft.Xrm.Sdk.dll se encuentre en la misma carpeta.
El siguiente ejemplo muestra el formato para ejecutar la herramienta desde la línea de comandos para una instalación local de Microsoft Dynamics 365. Se suministran los valores de los parámetros para la instalación.
CrmSvcUtil.exe /url:http://<serverName>/<organizationName>/XRMServices/2011/Organization.svc /out:<outputFilename>.cs /username:<username> /password:<password> /domain:<domainName> /namespace:<outputNamespace> /serviceContextName:<serviceContextName>
El siguiente ejemplo muestra el formato para ejecutar la herramienta desde la línea de comandos con Microsoft Dynamics CRM Online. Se suministran los valores de los parámetros adecuados para su cuenta y servidor.
CrmSvcUtil.exe /url:https://<organizationUrlName>.api.crm.dynamics.com/XRMServices/2011/Organization.svc /out:<outputFilename>.cs /username:<username> /password:<password> /namespace:<outputNamespace> /serviceContextName:<serviceContextName>
Para el parámetro de username, escriba el nombre de usuario que se usa para iniciar sesión en Cuenta de Microsoft o Microsoft Office 365. Puede buscar la URL correcta en la aplicación web al seleccionar Configuración. A continuación, desplácese hasta Personalizaciones y luego seleccione Recursos de desarrollador. La URL se muestra en Servicio de organización.
Para enumerar los parámetros de línea de comandos admitidos, use el siguiente comando.
CrmSvcUtil.exe /?
Al ejecutar la herramienta en cada Microsoft Dynamics CRM Online con el proveedor de identidad de Cuenta de Microsoft, ya no es necesario proporcionar los parámetros deviceid y devicepassword desde la línea de comandos. La herramienta registra el dispositivo automáticamente. Sin embargo, puede registrar el dispositivo manualmente y obtener los valores para estos parámetros al compilar y ejecutar en primer lugar el ejemplo del código DeviceRegistration que se describe aquí.
Generar el identificador de dispositivo individual y la contraseña
Abrir y crear el proyecto DeviceRegistration: SDK\Tools\DeviceRegistration\DeviceRegistration.csproj.
Ejecute el archivo ejecutable de la línea de comandos. Para registrar el dispositivo, configure el parámetro /operation en Register.
C:\deviceregistration.exe /operation:Register
Copie los valores del identificador de dispositivo y la contraseña presentados y úselos como los valores de los parámetros deviceid y devicepassword al ejecutar la herramienta de CrmSvcUtil.
Parámetros
La siguiente tabla muestra los parámetros de las herramientas de generación de códigos y proporciona una breve descripción de su uso.
Parámetro |
Acceso directo |
Descripción |
Requerido |
---|---|---|---|
deviceid |
di |
Identificador de dispositivo usado al conectarse al servidor en línea para la autenticación. Solo si el identificador de dispositivo no se ha almacenado en el disco en la carpeta %USERPROFILE%\LiveDeviceID. Solo se usa con el proveedor de identidad de Cuenta de Microsoft. |
Falso |
devicepassword |
dp |
Contraseña del dispositivo que se usó al conectar el servidor en línea para la autenticación. Solo si la contraseña del dispositivo no se ha almacenado en el disco en la carpeta %USERPROFILE%\LiveDeviceID. Solo se usa con el proveedor de identidad de Cuenta de Microsoft. |
Falso |
domain |
d |
El dominio de autenticación al conectarse al servidor. |
Falso |
url |
La URL para el servicio de la organización. |
Verdadero |
|
out |
o |
El nombre de archivo para el código generado. |
Verdadero |
language |
l |
El idioma en el que generar el código. Puede ser “CS” o “VB”. El valor predeterminado es “CS”. |
Falso |
namespace |
n |
El espacio de nombres para el código generado. El valor predeterminado es el espacio de nombre global. |
Falso |
username |
u |
El nombre de usuario que se usará al conectarse al servidor para la autenticación. |
Falso |
contraseña |
p |
La contraseña que se usará al conectarse al servidor para la autenticación. |
Falso |
servicecontextname |
El nombre de la clase de contexto de servicio de la organización generada. Si no se proporciona un valor, no se crea ningún contexto del servicio. |
Falso |
|
help |
? |
Mostrar la información de uso. |
Falso |
nologo |
Suprimir titular en tiempo de ejecución. |
Falso |
|
generateActions |
Generar clases de solicitud y respuesta para acciones. |
Ejemplos de uso
Los siguientes ejemplos muestran cómo usar la herramienta de generación de códigos de la línea de comandos para cada tipo de implementación. Tenga en cuenta que el nombre de usuario y la contraseña son parámetros opcionales. Si las credenciales del servidor de destino Microsoft Dynamics 365 se guardan en el almacén de credenciales Windows, no tiene que proporcionarlas para ejecutar la herramienta de generación de códigos.
Autenticación de notificaciones - Active Directory.
El siguiente ejemplo muestra cómo ejecutar la herramienta de generación de códigos mediante la autenticación de notificaciones en Active Directory. Observe el uso de https porque este servidor de ejemplo usa Capa de sockets seguros (SSL).
CrmSvcUtil.exe /url:https://myport:555/MyOrg/XRMServices/2011/Organization.svc /out:GeneratedCode.cs
/username:administrator /password:password
Microsoft Dynamics CRM Online
El siguiente ejemplo muestra cómo ejecutar la herramienta de generación de códigos para Microsoft Dynamics CRM Online. El primer ejemplo es para el proveedor de identidad de Cuenta de Microsoft y el segundo es para el proveedor de identidad de 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!"
Autenticación de notificaciones - IFD
El siguiente ejemplo muestra cómo ejecutar la herramienta de generación de códigos mediante la autenticación de notificaciones.
CrmSvcUtil.exe /url:https://myorg.crm.com:555/XRMServices/2011/Organization.svc /out:GeneratedCode.cs /username:administrator /password:p@ssword!
Usar el archivo de configuración
El archivo de configuración CrmSvcUtil.exe.config debe estar en la misma carpeta que la herramienta CrmSvcUtil.exe. El archivo de configuración usa los pares clave/valor estándar en la sección appSettings. Sin embargo, si ingresa un valor en la línea de comandos, ese valor se usará en lugar del que aparece en el archivo de configuración. Se ignorarán todos los pares clave/valor que se encuentran en el archivo de configuración de la aplicación que no coinciden con los parámetros esperados.
En el archivo de configuración no se incluyen los parámetros url y namespace. Deben ingresarse desde la línea de comandos cuando se ejecuta la herramienta CrmSvcUtil.exe.
El siguiente ejemplo muestra cómo configurar el archivo de salida y los parámetros del nombre de dominio del archivo de configuración de la aplicación mediante las teclas de método abreviado.
<appSettings> <add key="o" value="CrmProxy.cs"/> <add key="d" value="mydomain"/></appSettings>
Habilitar seguimiento
Para habilitar el seguimiento cuando ejecuta la herramienta, agregue las siguientes líneas al archivo de configuración:
<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>
Ver también
Herramientas del desarrollador
Examinar los metadatos de la organización
Crear extensiones para la herramienta de generación de código
Usar las clases de entidad con enlace en tiempo de compilación para crear, actualizar y eliminar
Sugerencias para la solución de problemas
Ejecutar un programa sencillo mediante los servicios web de Microsoft Dynamics CRM 2015
© 2017 Microsoft. Todos los derechos reservados. Copyright