[CRM 2011] Early bound types y plugins

¿Habeis probado a usar early bound types desde una de vuestras plugins? Una vez generado el código con la herramienta crmsvcutil, ya estamos preparados para usar los nuevos tipos. Si el código generado y las plugins se encuentran en el mismo ensamblado, no tendremos más problemas.

image

Sin embargo, en un proyecto medianamente grande, probablemente necesitaremos separar la funcionalidad común del resto, tal como procesos de negocio o esas entidades que hemos generado.

image

¿Cómo podemos desplegar esta librería común? Bien en la GAC o merging esa librería con la de los plugins. Sin embargo, la primera vez probablemente nos encontremos con un “Unexpected error” cuando intentemos usar el IOrganizationService con los early bound types dentro de las plugins. Ejemplo:

public class PreCreateContact : BasePlugin
{
   protected override void ExecutePlugin(IOrganizationService service, ITracingService tracingService)
   {
       Task newTask = new Task();
       newTask.Subject = "Testing";
       service.Create(newTask); //Here you will get the error
   }

}

Para evitar dicho error, debemos añadir la siguiente linea al fichero AssemblyInfo.cs de nuestro proyecto de plugins:

[assembly: Microsoft.Xrm.Sdk.Client.ProxyTypesAssemblyAttribute()]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *