小编典典

为asp.net核心中的开发和发布环境自动设置appsettings.json?

all

我在我appsettings.json的数据库连接字符串、webapi 位置之类的东西中定义了一些值,这些值对于开发、登台和实时环境是不同的。

有没有办法拥有多个appsettings.json文件(比如appsettings.live.json,等等)并且让 asp.net
应用程序根据它正在运行的构建配置“知道”使用哪个文件?


阅读 96

收藏
2022-08-20

共1个答案

小编典典

您可以使用条件编译:

public Startup(IHostingEnvironment env)
{
    var builder = new ConfigurationBuilder()
    .SetBasePath(env.ContentRootPath)
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
#if SOME_BUILD_FLAG_A
    .AddJsonFile($"appsettings.flag_a.json", optional: true)
#else
    .AddJsonFile($"appsettings.no_flag_a.json", optional: true)
#endif
    .AddEnvironmentVariables();
    this.configuration = builder.Build();
}
2022-08-20