/// <summary> /// Creates a new <see cref="AbpBootstrapper"/> instance. /// </summary> /// <param name="startupModule">Startup module of the application which depends on other used modules. Should be derived from <see cref="AbpModule"/>.</param> /// <param name="iocManager">IIocManager that is used to bootstrap the ABP system</param> private AbpBootstrapper([NotNull] Type startupModule, [NotNull] IIocManager iocManager) { startupModule.CheckNotNull(nameof(startupModule)); iocManager.CheckNotNull(nameof(iocManager)); if (!typeof(AbpModule).IsAssignableFrom(startupModule)) { throw new ArgumentException($"{nameof(startupModule)} should be derived from {nameof(AbpModule)}."); } StartupModule = startupModule; IocManager = iocManager; PlugInSources = new PlugInSourceList(); _logger = NullLogger.Instance; }