2.1 Requisitos Previos y Herramientas Necesarias

Instala y configura todas las herramientas necesarias

Antes de escribir tu primer plugin, necesitas preparar tu entorno de desarrollo. Esta lección te guiará a través de la instalación y configuración de todas las herramientas necesarias, explicando por qué cada una es importante y cómo encajan en el flujo de trabajo de desarrollo.

Objetivos de aprendizaje

  • Conocer las herramientas esenciales para desarrollo de plugins
  • Instalar y configurar Visual Studio correctamente
  • Entender qué versión de .NET Framework usar y por qué
  • Preparar Power Platform CLI para automatización

El panorama general: qué herramientas necesitas y por qué

Cuando empecé a desarrollar plugins hace años, el ecosistema era más simple pero también más limitado. Hoy tenemos más opciones, lo que puede resultar confuso para quien empieza. Te explico qué necesitas realmente y qué es opcional pero recomendable.

Visual Studio: el centro de tu desarrollo

Visual Studio es tu IDE principal. Puedes usar Visual Studio 2019 o 2022, ambas funcionan perfectamente. La versión Community es gratuita y tiene todo lo que necesitas.

Hay desarrolladores que preguntan si pueden usar Visual Studio Code o Rider. La respuesta corta: técnicamente sí, pero no lo recomiendo para empezar. Visual Studio tiene integración nativa con las herramientas de Dataverse y el debugger funciona mejor. Una vez que domines el flujo de trabajo, puedes experimentar con otros editores.

Al instalar Visual Studio, asegúrate de seleccionar el workload de ".NET desktop development". Sin esto, no tendrás las plantillas correctas ni el soporte para .NET Framework.

La cuestión del .NET Framework

Este es un punto que confunde a muchos desarrolladores, especialmente los que vienen del mundo .NET moderno. Los plugins de Dataverse NO usan .NET Core ni .NET 5/6/7/8. Usan .NET Framework.

¿Por qué? Los plugins se ejecutan en un sandbox dentro de los servidores de Dataverse, que están construidos sobre .NET Framework. Esto no va a cambiar en el futuro previsible, así que acostúmbrate.

La versión mínima soportada es .NET Framework 4.6.2, pero te recomiendo usar 4.7.2 si puedes. Es más estable y tiene correcciones de bugs importantes. Cualquier versión entre 4.6.2 y 4.8 funciona.

Error común que veo constantemente: Desarrolladores que crean proyectos de "Class Library" seleccionando .NET Standard o .NET 6+ en lugar de .NET Framework. El proyecto compila perfectamente, pero cuando intentan registrar el plugin, falla misteriosamente. Siempre verifica que tu proyecto sea .NET Framework.

Plugin Registration Tool: tu conexión con Dataverse

Una vez que tu plugin está compilado, necesitas registrarlo en Dataverse. El Plugin Registration Tool (PRT) es la herramienta oficial de Microsoft para esto. Te permite subir tu DLL, registrar en qué eventos debe ejecutarse, y configurar parámetros como Pre-Images y Post-Images.

Además de registro, el PRT tiene capacidades de debugging. Puedes capturar la ejecución de un plugin en producción y reproducirla localmente para diagnosticar problemas. Esto es invaluable cuando algo falla y no sabes por qué.

Hay dos formas de obtener el PRT: a través de Power Platform CLI o descargándolo directamente desde NuGet. Te recomiendo la primera opción porque la CLI te servirá para muchas otras cosas.

Power Platform CLI: automatización y productividad

Power Platform CLI (antes conocido como PAC CLI) es una herramienta de línea de comandos para interactuar con Power Platform. Para desarrollo de plugins, tiene varios usos:

Puedes generar clases Early-Bound para trabajar con tipado fuerte en lugar de strings mágicos. Puedes abrir el Plugin Registration Tool con un solo comando. Puedes exportar e importar soluciones para gestionar el ciclo de vida de tus customizaciones.

Si planeas hacer CI/CD con Azure DevOps o GitHub Actions, la CLI es esencial. Pero incluso para desarrollo manual, te ahorra tiempo.


Instalación paso a paso de Visual Studio

Vamos a la práctica. Descarga Visual Studio 2022 Community desde visualstudio.microsoft.com. Durante la instalación, el instalador te pregunta qué workloads quieres instalar.

Selecciona ".NET desktop development". Este workload incluye todo lo necesario para desarrollo con .NET Framework: el SDK, plantillas de proyecto, y herramientas de debugging.

Opcionalmente, puedes añadir "Azure development" si planeas trabajar con Azure Functions o servicios de Azure. No es obligatorio para plugins, pero muchos proyectos de Dynamics 365 terminan integrándose con Azure.

La instalación tarda entre 20 y 40 minutos dependiendo de tu conexión y el hardware. Una vez completada, abre Visual Studio y verifica que puedes crear un proyecto de tipo "Class Library (.NET Framework)".


Instalación de Power Platform CLI

Power Platform CLI se puede instalar de varias formas. La más sencilla es usar el instalador de Microsoft:


# Opción 1: Usando winget (Windows 10/11)
winget install Microsoft.PowerPlatformCLI

# Opción 2: Descarga directa desde Microsoft
# https://aka.ms/PowerAppsCLI

Una vez instalada, abre una terminal de PowerShell y verifica que funciona:


pac --version
# Debe mostrar algo como: 1.30.x

Para conectar con tu entorno de Dataverse, usa el comando de autenticación:


# Autenticar contra tu organización
pac auth create --url https://tuorganizacion.crm.dynamics.com

# Esto abrirá el navegador para iniciar sesión
# Una vez autenticado, puedes listar los entornos disponibles
pac org list

Con la autenticación configurada, puedes abrir el Plugin Registration Tool directamente:


# Abrir el Plugin Registration Tool
pac tool prt

La primera vez que ejecutes este comando, descargará automáticamente la última versión del PRT. Las siguientes veces usará la versión cacheada.


XrmToolBox: el compañero útil pero no obligatorio

XrmToolBox es una aplicación de escritorio que agrupa docenas de herramientas de la comunidad para trabajar con Dataverse. No es obligatoria, pero es extremadamente útil.

Algunas herramientas que uso frecuentemente:

FetchXML Builder te permite construir consultas FetchXML de forma visual y probarlas contra tu entorno. Cuando necesitas una consulta compleja para tu plugin, es más fácil construirla aquí primero.

Plugin Trace Viewer te muestra los logs de tus plugins de forma amigable. Puedes filtrar por fecha, entidad, o buscar texto específico.

Metadata Browser te permite explorar las entidades, campos y relaciones de tu organización. Útil cuando necesitas recordar el nombre lógico de un campo o confirmar el tipo de datos.

Early Bound Generator es una alternativa al comando de la CLI para generar clases tipadas. Tiene una interfaz visual que algunos desarrolladores prefieren.

Puedes descargar XrmToolBox desde xrmtoolbox.com. Las herramientas individuales se instalan desde dentro de la aplicación usando un gestor de plugins.


Verificando que todo está listo

Antes de continuar al siguiente tema, verifica que tienes todo instalado correctamente:

Abre Visual Studio y crea un nuevo proyecto. Busca "Class Library" y confirma que ves la opción "Class Library (.NET Framework)" entre las plantillas. Si solo ves .NET Standard o .NET Core, necesitas instalar el workload de .NET desktop development.

Abre PowerShell y ejecuta pac --version. Debe mostrar un número de versión sin errores.

Ejecuta pac auth create --url https://tuorg.crm.dynamics.com reemplazando con la URL de tu organización de desarrollo. Completa el flujo de autenticación.

Ejecuta pac tool prt para abrir el Plugin Registration Tool. Debe abrirse una ventana con la herramienta lista para conectarse a tu organización.

Si todos estos pasos funcionan, tu entorno está listo para desarrollar plugins.


Puntos clave

  • Visual Studio 2019 o 2022 con el workload ".NET desktop development"
  • Los plugins usan .NET Framework (4.6.2 mínimo, 4.7.2 recomendado), NO .NET Core/5/6/7/8
  • Power Platform CLI te da acceso al Plugin Registration Tool y capacidades de automatización
  • El Plugin Registration Tool es esencial para registrar y debuggear plugins
  • XrmToolBox es opcional pero muy útil para tareas complementarias

Para profundizar

Inicia sesión e inscríbete para guardar tu progreso.
En este curso
¿Te ha resultado útil?