Я не знаю про Prism, но в MEF вы не регистрируете типы в контейнере - это вводит зависимость, которая отрицает цель разъединения кода.
Что вы делаете для того, чтобы тип ISome
был доступен для обнаружения MEF, вы помещаете атрибут [Export(typeof(ISome))]
в ваш класс, который реализует интерфейс ISome
.
В составе MEF увидит атрибут Import, связанный с типом интерфейса ISome, а затем начнет искать соответствующий Экспорт с ключом для типа интерфейса ISome. Он найдет ваш класс реализации с атрибутом Export. MEF создаст экземпляр экспортируемого класса и присвоит его свойству import для вас.
На этапе компоновки необходимо предоставить каталог типов или сборок для загрузки MEF и выполнения магии поиска совпадений. Убедитесь, что сборка, содержащая ваш класс реализации, находится в этой группе каталогов.