web-dev-qa-db-ja.com

.NetCoreに複数の構成ファイルをロードする方法

.NetCoreミドルウェアのループ内のフォルダーから複数の構成ファイルをロードしたい。

前述のようにappSettings.jsonのように名前を付けることで、1つまたは複数の構成ファイルをロードできることを知っています ここ

しかし、私の場合、複数の構成フォルダーがあり、各フォルダーに最初にロードされる複数の構成ファイルがある場合。そして、ロードする各フォルダ内の各ファイルに名前を付け始めると、多くの行があり、面倒になります。すべての構成フォルダーをループでロードしようとしています。

さらに情報が必要な場合はお問い合わせください。ありがとう

6
Syed

これは、 のようなものDirectory.EnumerateFilesおよびConfigureAppConfigurationを使用して実現できます。これがどのように見えるかの例を次に示します。

WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .ConfigureAppConfiguration(configurationBuilder =>
    {
        foreach (var jsonFilename in Directory.EnumerateFiles("/path/to/jsons", "*.json", SearchOption.AllDirectories))
            configurationBuilder.AddJsonFile(jsonFilename);
    })
    .Build();

ConfigureAppConfigurationを呼び出すと、構成システムにプロバイダーを追加できます。ここでは、/path/to/jsonsディレクトリ(および子)内にあるすべての* .jsonファイルを追加の構成ソースとして追加しています。

6
Kirk Larkin