使用 Host.CreateDefaultBuilder 的多个配置 json 文件

Multiple configuration json files using Host.CreateDefaultBuilder

在控制台应用程序中,我使用以下设置:

IHost host = Host.CreateDefaultBuilder()
    .ConfigureServices((context, services) =>
    {
        services.AddSingleton<Program>();
        string someConfigItem = context.Configuration["SomeConfigItem"];
    })
    .Build();

host.Services.GetRequiredService<Program>().Go();

这会自动从 appsettings.json 中读取,而无需显式使用配置生成器或类似的东西。

如果我想添加一个额外的 JSON 文件怎么办?使用配置生成器,您只需多次调用 .AddJsonFile() 即可添加多个文件,但我似乎无法在此处找到添加更多文件的位置。

我认为这是添加另一个配置文件的正确位置:

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

IHost host = Host
    .CreateDefaultBuilder()
    .ConfigureAppConfiguration(x => x.AddJsonFile("..." /*..., ...*/))
    //.ConfigureHostConfiguration(x => x.AddJsonFile("..." /*..., ...*/))
    .ConfigureServices((context, services) =>
    {
        services.AddSingleton<Program>();
        string someConfigItem = context.Configuration["SomeConfigItem"];
    })
    .Build();