[Примечание: Я работаю на MonoDevelop, которая использует Mono.Addins, но я обсуждал различие между MEF и Mono.Addins экстенсивно с Гленн Блок из MEF команды на прошлой неделе]
MEF базируется на составление коды , хотя базовые абстракции очень гибкие. Напротив, Mono.Addins основан на дереве метаданных, где вы можете подключать данные/метаданные/код к богатой схеме вашего определения, поэтому расширения могут добавлять данные/метаданные, а также код.
Mono.Addins предоставляет вам систему управления добавлением/упаковкой/репозиторией/обновлением из коробки. Для MEF, на данный момент, вам придется создавать свои собственные.
MEF имеет несколько более низкий барьер для входа, и гораздо больше работ по дизайну перешло в его удобство использования и лежащие в основе абстракции. Кроме того, это часть .NET 4, поэтому у него будет гораздо больше сообщество разработчиков, работающих с/для него.
На данный момент, если вам нужно подключить данные/метаданные, а также код, и вы хотите иметь готовую систему упаковки, я бы рекомендовал Mono.Addins, иначе я бы рекомендовал MEF. Идя вперед, вполне вероятно, что функции Mono.Addins будут реализованы на MEF, поэтому, вероятно, будет путь миграции к MEF.
Спасибо. Это начало ... –