public SetupController( IApplicationEnvironment appEnv, ILogger<SetupController> logger, IOptions<SetupOptions> setupOptionsAccessor, SetupManager setupManager, IAuthorizationService authorizationService, IEnumerable<ISetupTask> setupSteps = null ) { if (appEnv == null) { throw new ArgumentNullException(nameof(appEnv)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (setupOptionsAccessor == null) { throw new ArgumentNullException(nameof(setupOptionsAccessor)); } if (setupManager == null) { throw new ArgumentNullException(nameof(setupManager)); } if (authorizationService == null) { throw new ArgumentNullException(nameof(authorizationService)); } log = logger; appBasePath = appEnv.ApplicationBasePath; this.setupManager = setupManager; setupOptions = setupOptionsAccessor.Value; this.authorizationService = authorizationService; if(setupSteps != null) { this.setupSteps = setupSteps; } }