public AbpModuleManager(IIocManager iocManager, IAbpPlugInManager abpPlugInManager) { _iocManager = iocManager; _abpPlugInManager = abpPlugInManager; _modules = new AbpModuleCollection(); Logger = NullLogger.Instance; }
/// <summary> /// 加载所有的模块 /// </summary> private void LoadAllModules() { Logger.Debug("Loading Abp modules..."); //1、找到所有模块 var moduleTypes = FindAllModules(); Logger.Debug("Found " + moduleTypes.Count + " Abp modules in total."); //2、将所有模块都注册到IOC容器中 RegisterModules(moduleTypes); //3、从Ioc容器中依次解析模块 CreateModules(moduleTypes); //4、对所有的model进行排序,确保核心模块AbpKernelModule在第一个位置 AbpModuleCollection.EnsureKernelModuleToBeFirst(_modules); //5、再依次设置模块的依赖模块 SetDependencies(); Logger.DebugFormat("{0} Modules loaded.", _modules.Count); }