public void ConfigureServices(IServiceCollection services) { services.AddLogging(builder => { builder.ClearProviders(); builder.AddConsole(); builder.AddDebug(); }); services.AddHealthChecks(); var service = new Service(); services.AddSingleton <IService>(service); foreach (var command in service.Commands) { services.AddScoped(command.GetType()); } services.AddControllers().AddApplicationPart(Assembly.Load(ControllerBuilder.CreateControllerCode(service))); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = $"My {service.GetType().FullName} Service.", Version = "v1" }); }); }