private void LoadAllModules() { Logger.Debug("Loading modules..."); var moduleTypes = AbstractModule.FindDependedModuleTypesRecursivelyIncludingGivenModule(_modules.StartupModuleType) .Distinct().ToList(); Logger.Debug("Found " + moduleTypes.Count + " modules in total."); RegisterModules(moduleTypes); CreateModules(moduleTypes); _modules.EnsureKernelModuleToBeFirst(); _modules.EnsureStartupModuleToBeLast(); SetDependencies(); Logger.DebugFormat("{0} modules loaded.", _modules.Count); }