У вас отношения между импортом и экспортом инвертированы.Вы хотите, чтобы любой класс, который реализует IFileMetaDataProvider , также Экспортирует этот интерфейс.
Ваш код, который использует эти реализации, будет выглядеть так
[ImportMany(typeof(IFileMetaDataProvider))]
public static IEnumerable<IFileMetaDataProvider> Providers
Атрибут Import вызовет исключение, если несколько компонентов экспортируют одно и то же значение. ImportMany импортирует один или несколько компонентов, которые имеют соответствующий атрибут Export .
Если классы, которые реализуют IFileMetaDataProvider , также имеют ImportАтрибуты или ImportMany , эти импорты также будут удовлетворяться MEF во время компоновки.Пока в каталоге есть соответствующие экспорты, вам не нужно беспокоиться о зависимостях для ваших импортированных компонентов.