Example #1
0
        /// <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;
        }