Share via


Crear las clases de entidad con enlace en tiempo de compilación con la herramienta de generación de código (CrmSvcUtil.exe)

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

CrmSvcUtil.exe es una herramienta de generación de código de la línea de comandos para usar con Microsoft Dynamics 365 (en línea y local). 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 365 (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 365 (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

  1. Abrir y crear el proyecto DeviceRegistration: SDK\Tools\DeviceRegistration\DeviceRegistration.csproj.

  2. 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
    
  3. 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 pancartas en tiempo de ejecución.

FALSO

generateActions

Generar clases de solicitud y respuesta para acciones.

interactivelogin

il

Cuando se establece como true, se mostrará un diálogo para iniciar sesión en el servicio de Dynamics 365. Se omiten todos los demás parámetros relacionados con la conexión especificados en la línea de comandos.

FALSO

connectionstring

connstr

Contiene información, proporcionada como una sola cadena, para conectarse a una organización de Dynamics 365. Se omiten todos los demás parámetros relacionados con la conexión especificados en la línea de comandos. Para obtener más información, vea Usar cadenas de conexión en útiles de XRM para conectarse a Dynamics 365.

FALSO

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 Seguridad de la capa de transporte (TLS) o 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 365 (local)

El siguiente ejemplo muestra cómo ejecutar la herramienta de generación de códigos para Microsoft Dynamics 365 (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>

Para obtener más información acerca de las versiones de seguimiento compatibles, consulte Configurar el seguimiento de útiles de XRM.

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 365

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright