mef - MEF CompositionException

标签 mef

我有此消息的CompositionException异常:
“类型为'SomeService'的ComposablePart不能重新组合,因为它处于无效状态。只有在已经完全预览或组合的情况下,才可以重新组合。”

此代码引发异常:

public class SomeService : ISomeService
{       
   [Import(typeof(ISomeType))]
   public ISomeType SomeType { get; set; }

   public SomeService()
   {
      Container.ComposeParts(this);
   }
}


但是一切都很好:

public class SomeService : ISomeService
{       
   [Import(typeof(ISomeType))]
   public ISomeType SomeType { get; set; }

   public SomeService()
   {
      this.SomeType = Container.GetExportedValue<ISomeType>();
   }
}


我在其他地方有此代码“ Container.ComposeParts(this)”,它可以工作,但在这里不行。

谷歌搜索“由于其处于无效状态而无法重组”后,我没有发现任何有趣的事情。

此消息是什么意思?
谢谢!

最佳答案

这可能是因为您正在多个线程中使用CompositionContainer。你在那样吗

关于mef - MEF CompositionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4314141/

相关文章:

wpf - MVVM应用程序无法正确还原状态

c# - 发现多个导出与 MEF ImportMany 的约束异常相匹配

asp.net-mvc-3 - Entity Framework 插件架构推荐

c# - WPF GUI 对象共享 (PRISM/MEF)

c# - 如何明确、精确地控制构图范围?

c# - 导入构造函数和子类

c# - 如何获取MEF中的所有方法

wpf - 我应该在 Prism-MEF 或 Unity 中使用什么?

c# - WCF 服务中的 Prism 模块系统?

.net - 将 MEF 与 NHibernate 和 CaSTLe Windsor 一起使用