[NOTA: Yo trabajo en MonoDevelop, que utiliza Mono.Addins, pero he discutido las diferencias entre el MEF y Mono.Addins ampliamente con Glenn cuadra del equipo MEF semana pasada]
MEF se basa en que componen el código , aunque las abstracciones subyacentes son muy flexibles. Por el contrario, Mono.Addins se basa en un árbol de metadatos, donde puede conectar datos/metadatos/códigos en un esquema enriquecido de su definición, de modo que las extensiones pueden agregar datos/metadatos, así como también código.
Mono.Addins le brinda un sistema adicional de administración/empaquetado/repositorio/actualización de inmediato. Para MEF, en este punto, tendrías que construir el tuyo propio.
MEF tiene una barrera de entrada un poco más baja, y se ha dedicado mucho más trabajo de diseño a su usabilidad y abstracciones subyacentes. Además, es parte de .NET 4, por lo que tendrá una comunidad de usuarios mucho mayor que se desarrollará con/para ello.
En este punto, si necesita conectar tanto los datos/metadatos como el código y desea un sistema de empaquetado listo, recomendaría Mono.Addins, de lo contrario, recomendaría MEF. De cara al futuro, es probable que las características de Mono.Addins se implementen en MEF, por lo que probablemente haya una ruta de migración hacia MEF.
Gracias. Es un comienzo ... –