// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public virtual void ConfigureServices(WebApplicationBuilder builder) { services = builder.Services; services.AddOptions(); services.AddSingleton(config); services.Configure <Configuration>(config.GetSection(Core.Extensions.Base.Configuration.SectionRoot)); services.Configure <TOptions>(config.GetSection(AppConfigSectionRoot)); services.AddSingleton <IAppConfiguration, TOptions>(); Extensions.Base.Extension.Init(services, services.BuildServiceProvider()); builder.AddExtCore(config[$"{Extensions.Base.Configuration.SectionRoot}:Folder"] != null ? $"{env.ContentRootPath}{System.IO.Path.DirectorySeparatorChar}{config[$"{Extensions.Base.Configuration.SectionRoot}:Folder"]}" : null, includingSubpaths: true); var carterModules = Ws.Core.Extensions.Base.Util.GetAllTypesOf <ICarterModule>(); if (carterModules.Any()) { builder.Services.AddCarter(configurator: _ => _ .WithModules(carterModules.ToArray()) ); } }