1.2 Inicialización de Plugins y Paquetes
Estandariza tus proyectos backend y elimina el registro manual de plugins.
Si los PCF son la cara visible de nuestras aplicaciones, los Plugins son el cerebro en la sombra. Vamos a ver cómo PAC CLI nos ayuda a estructurar proyectos de código de servidor.
Objetivos de aprendizaje
- Crear la estructura base para un proyecto de Plugins de Dataverse.
- Integrar paquetes de despliegue automatizado.
- Evitar los problemas comunes de dependencias.
Inicializando proyectos backend
Tradicionalmente, crear un proyecto de Plugins en Visual Studio requería recordar qué paquetes NuGet instalar (como Microsoft.CrmSdk.CoreAssemblies), firmar el ensamblado y configurar las clases base. Todo muy manual y propenso a inconsistencias entre desarrolladores de un mismo equipo.
Ahora, puedes abrir tu terminal en una carpeta vacía y ejecutar:
pac plugin init
Este sencillo comando te genera un proyecto de biblioteca de clases de C# (.csproj) ya configurado, firmado y con las referencias NuGet correctas de Dataverse. Además, te incluye una clase base muy útil que simplifica la captura del contexto de ejecución (IPluginExecutionContext).

El siguiente paso: pac package
Una vez tienes tu archivo .dll compilado, el método antiguo era usar el Plugin Registration Tool para registrar el ensamblado a mano. Si bien esto sigue siendo útil para aprender, en entornos empresariales necesitamos algo repetible.
Aquí entra el comando pac package init. Este comando crea un proyecto especial de empaquetado (Package Deployer). Te permite combinar tus soluciones de Dataverse, tus ensamblados de plugins, y tus archivos de migración de datos (¿recuerdas pac data del curso anterior?) en un solo paquete instalable.
He visto proyectos fracasar el día de la salida a producción porque alguien olvidó registrar un paso (step) de un plugin manualmente. Al usar proyectos inicializados con PAC CLI y desplegados vía Package Deployer o soluciones, eliminas el factor de error humano.
Puntos clave
pac plugin initestandariza la forma en que tu equipo crea proyectos de C# para Dataverse.- Incluye dependencias preconfiguradas y clases base para facilitar el desarrollo.
- Combinado con proyectos de paquete, sienta las bases para despliegues complejos y libres de errores.