Документация , вероятно, является лучшим местом для ознакомления со всеми доступными методами конфигурации. Чтобы ответить на заданный вами c вопрос, метод расширения, за которым вы работаете, определен в IConfigurationBuilder
, поэтому он должен быть вызван до того, как вы создадите свой хост следующим образом:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.ConfigureAppConfiguration(configurationBuilder => { configurationBuilder.AddEnvironmentVariables(); }) // here's where you add another `EnvironmentVariablesConfigurationSource`
;
Однако
значение по умолчанию EnvironmentVariablesConfigurationSource
уже введено для вас ConfigureWebHostDefaults
, поэтому у вас будет два поставщика.
Я предполагаю, что вы хотите вместо этого внедрить настроенную конфигурацию, поэтому вам может понадобиться сначала удалить конфигурацию по умолчанию из списка:
.ConfigureAppConfiguration(configurationBuilder =>
{
configurationBuilder.Sources.Remove(
configurationBuilder.Sources.First(source =>
source.GetType() == typeof(EnvironmentVariablesConfigurationSource))); //remove the default one first
configurationBuilder.AddEnvironmentVariables();
})
, надеюсь, это даст вам отправную точку для изучения далее