ModuleExport
- это ExportAttribute
, но с некоторыми дополнительными специфичными для модуля свойствами.
Если вы посмотрите на исходный код для ModuleExport
, вы обнаружите, что он имеет все свойства ExportAttribute, плюс:
- ModuleName
- ModuleType
- Зависимости модуля
- Инициализация модуля
Все это происходит из интерфейса IModuleExport .
Если вы посмотрите на ImportedModules
свойство MefModuleManager
(класс, отвечающий за поиск модулей), вы увидите, что он импортирует их все с использованием интерфейса IModuleExport
, поэтому вы требуется использовать атрибут, реализующий IModuleExport
, а не просто прямо [ExportAttribute(typeof(IModule))]
.
Надеюсь, это то, что вы искали.