Silverlight中利用MEF进行模块注入时注入错误问题分析
先看错误:
撰写保持不变。由于以下错误,更改被拒绝: 撰写生成多个撰写错误,具有 5 个根本原因。下面提供了根本原因。 有关详细信息,请检查 CompositionException.Errors 属性。
1) 导出更改被部件“SLFrameWork.ShellViewModel”的不可重新撰写导入“SLFrameWork.ShellViewModel..ctor (Parameter="_moduleModel", ContractName="SLFrameWork.Web.ServiceProxy.Interface.IModuleModel")”阻止。
......
解决办法:
1、首先查看silverlight项目中引用的Microsoft.Practices.Prism.MefExtensions属性中复制本地是否为false
2、如果在silverlight中建立的类库,并利用this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(SYS_USER).Assembly)); 已将该类库的dll加入到目录中,则需检查对该类库的引用属性是否设置为false;
3、如果使用 Microsoft.Practices.Prism.Modularity.ModuleCatalog.CreateFromXaml(new Uri(ModuleCalog, UriKind.Relative)); 这种方式加载模块则需检查xaml文件中的信息是否与模块信息一致
<Modularity:ModuleInfoGroup Ref="SLFrameWork.Authentication.View.xap" InitializationMode="WhenAvailable"> <Modularity:ModuleInfo ModuleName="ViewModule" ></Modularity:ModuleInfo> </Modularity:ModuleInfoGroup>[ModuleExport(typeof(ViewModule))] public class ViewModule:IModule {....
}
posted on 2012-03-14 23:59 oldkingsir 阅读(1597) 评论(0) 编辑 收藏 举报