Пожалуйста, смотрите также: https://github.com/iwhp/Mef1-vs-Mef2-CycleComposition
О проблеме сообщили в: https://github.com/dotnet/corefx/issues/38301
MEF1 В MEF1 можно иметь циклическую ссылку между двумя компонентами (см. ClassA и ClassB), даже если компоненты не являются общими ([PartCreationPolicy(CreationPolicy.NonShared)]).
[PartCreationPolicy(CreationPolicy.NonShared)]
Это возможно с помощью Lazy
Lazy
public Lazy<ClassB> ClassB { get; set; }
MEF2 Я MEF2, это не работает. Есть ли обходной путь?