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