如何解决mef中的双重加载对象问题

时间:2011-03-10 19:25:38

标签: .net prism mef

我有一个问题,我的对象在MEF中加载了两次。所以MEF返回我的两个对象,这导致我的整个程序崩溃,因为我只期待一个。

如何追踪/逐步执行我的程序以确定对象的双重注册位置?

我在课堂上有一个导出标签。我认为这说明了其中一个例子。

我正在使用棱镜,出现两次的对象是Shell视图。

TDL无法弄清楚如何调试mef

2 个答案:

答案 0 :(得分:1)

当您编写对象时,MEF会在尝试编写与该类型匹配的[Import]时引发CompositionException。 CompositionException的异常细节非常详细,将为您提供潜在的匹配。

查看CompositionException的全文 - 它应该为您提供给定导入所发生的所有“匹配”,允许您调试问题。

答案 1 :(得分:0)

我冒昧地说你以某种方式将程序集加载到AggregateCatalog中两次。