Depuración de complementos

El proceso para escribir, registrar y depurar un complemento es:

  1. Crear un proyecto de biblioteca de clases de .NET Framework en Visual Studio
  2. Agregar el paquete Microsoft.CrmSdk.CoreAssemblies NuGet al proyecto
  3. Implementar la interfaz IPlugin en clases que se registrarán como pasos.
  4. Agregar su código al método Execute requerido por la interfaz
    1. Obtener las referencias a los servicios que necesita
    2. Adición de lógica de negocios
  5. Firmar y crear el ensamblado
  6. Probar el ensamblado
    1. Registrar el ensamblado en un entorno de prueba
    2. Agregar el ensamblado registrado y pasos a una solución no administrada
    3. Probar el comportamiento del ensamblado
    4. Comprobar que se escriben los registros de seguimiento esperados
    5. Depure el ensamblado según sea necesario

El contenido de este tema convierte los pasos anteriores en negrita y ofrece los tutoriales siguientes:

Probar el ensamblado

La forma más sencilla de probar el ensamblado puede ser sencillamente realizar manualmente la operación con la aplicación. Pero también debe tener en cuenta que los eventos que provocan la ejecución de complementos se pueden iniciar de varias formas, como una tabla creada a partir de un flujo de trabajo o desde los servicios web.

La información del contexto de ejecución puede ser diferente según cómo se realice la acción. Al escribir el complemento, es importante que realice prácticas de programación defensiva y que no suponga que cada valor que espere siempre estará ahí.

Es posible que desee escribir un programa que automatice la realización de operaciones que harán el complemento se desencadene e incluya varias variaciones posibles.

Si desea usar un marco de automatización de prueba, descubrirá que la comunidad ha creado algunas herramientas para este tipo de marco. Más información: Herramientas de pruebas para el desarrollo de servidor

Usar seguimiento

Como se describe en Servicio de seguimiento, puede escribir mensajes en la Tabla PluginTraceLog dentro del código de su complemento, utilizando el método ITracingService.Trace Método.

Para poder usar este servicio, debe habilitar el seguimiento en el entorno de Microsoft Dataverse. El proceso se describe en Ver registros de seguimiento.

Nota

El registro de seguimiento ocupa espacio de almacenamiento de la organización, especialmente cuando se generan muchos seguimientos y excepciones. Solo debe activar el registro de seguimiento para depurar y solucionar problemas, y desactivarla después de que la investigación esté completa.

Mientras se realiza la depuración, puede fácilmente consultar los registros de seguimiento de una clase de complemento determinado usando la API web del explorador. Si el ensamblado se llama BasicPlugin.FollowUpPlugin, puede usar esta consulta en el campo de dirección del explorador:

GET <your org uri>/api/data/v9.0/plugintracelogs?$select=messageblock&$filter=startswith(typename,'BasicPlugin.FollowUpPlugin')

Los resultados de JSON se devolverán a su explorador como:

{
    "@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"
    }]
}

Sugerencia

Esto funciona mejor si instala un complemento del explorador que aplicará formato al JSON devuelto. O bien puede usar Postman. Más información: Usar Postman con la API web

Puede preferir usar el Visor de seguimiento de complementos XrmToolbox. Esta herramienta de la comunidad no se admite en Microsoft. Si tiene alguna duda relacionada con esta herramienta, póngase en contacto con el Editor.

Los mensajes de seguimiento también se pueden encontrar en el archivo de registro que puede ser descargado cuando un complemento sincrónico o un montaje de flujo de trabajo personalizado produce un error que da como resultado un diálogo de error que se muestra al usuario. El usuario puede seleccionar el botón Descargar archivo de registro para ver el registro que contiene los detalles de la excepción y la salida de seguimiento.

Para los complementos registrados asincrónicos o los ensamblados de flujo de trabajo que devuelven una excepción, la información de seguimiento aparece en el área de detalles del formulario Trabajo del sistema en la aplicación web.

Nota

Si el código personalizado se ejecuta en una transacción de la base de datos y se produce una excepción que provoca una reversión de la transacción, todos los cambios en los datos de la tabla realizados por el código se desharán. Sin embargo, los registros de tabla PluginTraceLog se mantendrán después de que la reversión se complete.

Usar el generador de perfiles de complementos

El generador de perfiles de complementos es una solución que puede instalar en el entorno que le permite capturar el contexto de ejecución de un complemento y usar esos datos para reproducir el evento dentro de Visual Studio mientras se realiza la depuración.

Puede encontrar instrucciones para instalar y usar el generador de perfiles de complementos en el Tutorial: Depurar un complemento. Consulte Instalar el generador de perfiles de complementos y Depurar el complemento

Ver los datos del generador de perfiles de complementos

Después de instalar el generador de perfiles de complementos y de capturar algunos perfiles, puede ver el contexto del evento y reproducir los datos que se usan cuando realiza la depuración. Ver estos datos puede ayudarle a comprender los datos del contexto de ejecución que el complemento puede usar.

Puede ver estos datos mediante la herramienta de registro de complementos seleccionando el comando Ver perfil de complemento. Se abrirá el diálogo de perfil de complementos.

Abrir el perfil de complementos.

Seleccione el icono descargar. icono y en el cuadro de diálogo Seleccionar perfil de CRM, especifique el elemento de registro que se utilizará.

Seleccionar perfil de CRM.

Y luego seleccione Ver en el cuadro de diálogo Perfil de complemento.

Esto descargará un archivo XML abierto con información del perfil. El elemento Context representa el contexto de ejecución que se pasa al complemento.

ejemplo de datos de perfil.

Más información

Herramientas de pruebas para el desarrollo de servidor

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).