Загрузите пользовательский файл настроек приложения на основе предыдущих файлов настроек приложения.

Я пытаюсь создать несколько файлов настроек приложений для интегрированных сред, с которыми это приложение также работает. Основываясь на том, что находится в appsettings.‹Environment›.json, я хотел бы загрузить другой файл appsettings.

Я пытаюсь сделать следующее в program.cs:

IConfiguration tempConfiguration = config.Build();
string[] items = tempConfiguration.GetValue<string[]>("Application:EnvironmentPointers");
foreach (string environment in items)
{ 
    config.AddJsonFile($"integratedApplication.{environment}.json", optional: false, reloadOnChange: true);
}

Это вызывает исключение нулевой ссылки в разделе GetValue‹T›().

Файл appsettings.‹Environment›.json выглядит примерно так:

{
  "Application": {
    "EnvironmentPointers": [ "Development", "Staging" ]
  }
}

Любые идеи, как это может быть достигнуто?


person UncountedBrute    schedule 19.11.2020    source источник


Ответы (1)


Вместо этого рассмотрите возможность перехода к следующему подходу

//...

string[] items = tempConfiguration.GetSection("Application:EnvironmentPointers").Get<string[]>();

//...
person Nkosi    schedule 19.11.2020