Using the options pattern in .NET6, I can get access to some config values as follows:
builder.Services.Configure<ApiConfiguration>(
builder.Configuration.GetSection(ApiConfiguration.Api));
var app = builder.Build();
var options = app.Services.GetRequiredService<IOptions<ApiConfiguration>>().Value;
However, I would like to get the Options before builder.Build(), so I can use the appSettings values when adding some Services to the ServiceCollections.
I haven't been able to find it anywhere yet, so I am wondering if it is even possible (and how ofcourse :D )
In the default DI container services can't be resolved before it is built and building the container multiple times is not a recommended approach (for multiple reasons). If you need settings before the application is built you can access them without the options pattern:
var settings = builder.Configuration
.GetSection(ApiConfiguration.Api)
.Get<ApiConfiguration>();