Prism 小问题总结

 

1、找不到方法:“Prism.Modularity.IModuleCatalog Prism.Bootstrapper.CreateModuleCatalog()”。
   解决办法 1、更换prism版本到6.3版本
            2、app.config修改对应版本

 

 2、this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(testModule).Assembly)); //testModule就是另一个项目中的类,该类用于加载相应的view,这样就把两个项目里面不同的模块连在了一起

在同一项目里面报错

System.ComponentModel.Composition.CompositionException
  HResult=0x80131500
  Source=System.ComponentModel.Composition

 

3、业务模块采用目录catlog加载方式,即后续业务模块开发完成,将DLL扔到目录下即可

4、Unity(Unity Application Block)和MEF(Managed Extensibility Framework)两种框架下的容器

5、创建并配置模块目录

        protected override IModuleCatalog CreateModuleCatalog()
        {
            return new ConfigurationModuleCatalog();
        }

        protected override void ConfigureAggregateCatalog()
        {
            base.ConfigureAggregateCatalog();
           this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Mystrapper).Assembly));
           this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(TestModule).Assembly));
        }

MEF提供了DirectoryCatalog来检测一个目录中是否包含有模块的程序集(或者其它MEF可以导入的类型)。在这种情况下,你需要重写ConfigureAggregateCatalog方法注册一个目录。该方法仅在WPF下有效。

模块列表被一个继承于IModuleCatagory的类所实现。模块列表在应用程序创建时被应用程序的启动器创建。Prism提供了模块列表的多种实现以供选择。也可以通过AddModule方法或者创建一个承继于ModuleCatagory的类后添加自己行为的方式从其它数据源移植模块列表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值