Сначала проверьте поддержку нескольких сред в ASP. NET Core . Вы можете настроить разделы среды c, чтобы избежать использования в коде оператора if-else
.
Теперь предположим, что вышеприведенное не работает для вас:
Вам следует избегать построения контейнер в методе ConfigureServices
по причине, указанной в предупреждающем сообщении.
Вместо этого следует использовать шаблон параметров :
services.AddOptions<EnvironmentSettings>()
.Configure<IConfiguration, IWebHostEnvironment>(
(settings, config, env) =>
{
if (env.IsDevelopment())
{
config.GetSection("WebServicesDevelopment").Bind(settings);
}
else
{
config.GetSection("WebServicesProduction").Bind(settings);
}
});