我有此消息的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/