任何人都可以解释此错误消息:
构图保持不变。该 变更被拒绝了因为 以下错误:组成 产生了单一的构图错误。 根本原因如下。 查看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
答案 0 :(得分:1)
它正在寻找这样的东西:
[Export]
public class ApplicationServicesManager
{
}
或者像这样:
public class SomeClass
{
[Export]
public ApplicationServicesManager AppServices { get; private set; }
}
但它无法在您提供的导出范围内找到。如果要从属性或字段导出它,请确保导出它的对象已与容器组合。如果它是类导出并且该类存在于另一个程序集中,请确保程序集位于容器的目录中。
答案 1 :(得分:1)
虽然ApplicationServicesManager
类可用且标有[Export]
属性,但此部分可能仍然被拒绝,因为它本身无法满足导入。
请查看MEF文档中的Diagnosing Composition problems部分。