Конфигурация относительного пути в appsettings.json в .NET Core

#.net-core #.net-core-configuration

#.net-ядро #.net-core-configuration

Вопрос:

Для простоты предположим, что у нас есть следующая структура файлов конфигурации, куда я загружаю их все:

 c:appsmyappappsettings.json
c:appsappsettings.json
c:appsettings.json
  

Конфигурация «схема» выглядит следующим образом:

 {
  "logPath": "c:\apps\logs"
}
  

Вместо указания абсолютного пути к папке журнала я хотел бы указать относительный путь, например .\logs , где . будет находиться текущий файл конфигурации. Во время отладки я обнаружил, что IConfigurationRoot содержит все те источники конфигурации (в данном случае JsonConfigurationSource ), которые содержат путь к файлу конфигурации, но я не нашел способа получить ConfigurationSource для определенного ключа. Итак, что-то вроде IConfigurationRoot.GetConfigurationSource(string key) .

Есть ли какой-либо способ получить источник конфигурации для определенного ключа? Или, может быть, какой-то другой способ использовать относительные пути?