Возможно, вы чрезмерно усложняете использование MEF и внешнего импорта. Обычно происходит то, что у вас есть обычные зависимости проекта или внешние зависимости в вашем приложении, и из того, что я могу прочитать в вашем посте, пока это работает нормально для вас.
Ваша проблема возникает, когда вы добавляете MEF в уравнение. Вероятно, это из-за того, как вы загружаете MEF и импортируете эти библиотеки DLL, а я не могу это выяснить, посмотрев на ваш код.
Я могу рассказать вам, как я делаю это с успехом в приложениях, которые я разрабатываю:
Я все настраиваю нормально, с обычными зависимостями проекта, которые мне нужны для каждого проекта, затем, когда я загружаю MEF, из основного проекта приложения WPF, который имеет ссылки почти на все (а в моем конкретном случае это MefBootstrapper Призма) то, что я просто делаю, это:
public class SigepBootstrapper : MefBootstrapper
{
protected override void ConfigureAggregateCatalog()
{
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(SigepBootstrapper).Assembly));
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(AutoPopulateExportedViewsBehavior).Assembly));
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(StatusBarView).Assembly));
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Traversals).Assembly));
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(EngineManager).Assembly));
}
...
Если бы я не использовал Prism, я бы все равно создал AssemblyCatalog, просто настроил бы их по-другому, поэтому наряду с другим загрузчиком я бы продолжал писать так:
new AssemblyCatalog(typeof(SigepBootstrapper).Assembly)