Prism Sample 7 Modules Directory

这种方式用扫描目录的方式来增加模块,具备最大的灵活性

仍然在App.xaml.cs中增加了以下代码

protected override IModuleCatalog CreateModuleCatalog()
        {
            return new DirectoryModuleCatalog() { ModulePath = @".\Modules" };
        }

这意思是到Modules这文件夹下扫描所有的模块,扫到的就注册进来。

但是模块项目的生成输出必须指定到这个文件夹下,所要在项目的生成事件中使用以下脚本:

 

xcopy "$(TargetDir)$(TargetName)*$(TargetExt)" "$(SolutionDir)$(SolutionName)\bin\Debug\netcoreapp3.1\Modules\" /Y /S

 

在测试运行之前,请先生成整个项目,否则外部模块还没有复制完成,找不到模块。

posted @ 2021-06-07 15:30  cbaa  阅读(106)  评论(0编辑  收藏  举报