MEF错误消息

时间:2010-05-14 22:24:06

标签: silverlight-4.0 mef

任何人都可以解释此错误消息:

  

构图保持不变。该   变更被拒绝了因为   以下错误:组成   产生了单一的构图错误。   根本原因如下。   查看CompositionException.Errors   财产更详细   信息。

     

1)没有找到有效的出口   匹配约束   '((exportDefinition.ContractName ==   “Silverbits.ApplicationServices.ApplicationServicesManager”)   并且   (exportDefinition.Metadata.ContainsKey( “ExportTypeIdentity”)   并且   “Silverbits.ApplicationServices.ApplicationServicesManager” .Equals(exportDefinition.Metadata.get_Item( “ExportTypeIdentity”))))”,   可能是无效的出口   拒绝。

     

导致:无法设置导入   “Silverbits.Applications.SilverbitsApplication.ApplicationServices   (ContractName = “Silverbits.ApplicationServices.ApplicationServicesManager”)”   在'Framework.App'部分。元件:   Silverbits.Applications.SilverbitsApplication.ApplicationServices   (ContractName = “Silverbits.ApplicationServices.ApplicationServicesManager”)    - > Framwork.App

2 个答案:

答案 0 :(得分:1)

它正在寻找这样的东西:

[Export]
public class ApplicationServicesManager
{
}

或者像这样:

public class SomeClass
{
    [Export]
    public ApplicationServicesManager AppServices { get; private set; }
}

但它无法在您提供的导出范围内找到。如果要从属性或字段导出它,请确保导出它的对象已与容器组合。如果它是类导出并且该类存在于另一个程序集中,请确保程序集位于容器的目录中。

答案 1 :(得分:1)

虽然ApplicationServicesManager类可用且标有[Export]属性,但此部分可能仍然被拒绝,因为它本身无法满足导入。

请查看MEF文档中的Diagnosing Composition problems部分。