我有一个问题,我的对象在MEF中加载了两次。所以MEF返回我的两个对象,这导致我的整个程序崩溃,因为我只期待一个。
如何追踪/逐步执行我的程序以确定对象的双重注册位置?
我在课堂上有一个导出标签。我认为这说明了其中一个例子。
我正在使用棱镜,出现两次的对象是Shell视图。
TDL无法弄清楚如何调试mef
答案 0 :(得分:1)
当您编写对象时,MEF会在尝试编写与该类型匹配的[Import]
时引发CompositionException。 CompositionException的异常细节非常详细,将为您提供潜在的匹配。
查看CompositionException的全文 - 它应该为您提供给定导入所发生的所有“匹配”,允许您调试问题。
答案 1 :(得分:0)
我冒昧地说你以某种方式将程序集加载到AggregateCatalog中两次。