Hen*_*nda 7 c# configuration appsettings .net-core-3.1
我在 Net Core 3.1 中有一个工作服务,它从appsettings.json文件中读取生产设置,并在开发过程中(使用“调试”构建配置)按预期appsettings.json用 覆盖设置appsettings.Development.json。
我为我们的 QA 环境创建了构建配置和发布配置,我希望在构建/发布时appsettings.QA.json合并该文件。appsettings.json但发布项目仅复制appsettings.json生产设置,而不会与文件中的设置合并aspsetting.QA.json。
我怎样才能实现这个目标?我不想复制appsettings.QA.json到 QA 环境并设置DOTNET_ENVIRONMENT为QA. 在这种情况下我不想依赖环境变量。
.Net Core 不会将文件合并为物理文件。它们使用 Program.cs 中的此类代码块合并到内存中。
Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
var env = hostingContext.HostingEnvironment;
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true)
config.AddEnvironmentVariables();
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
Run Code Online (Sandbox Code Playgroud)
您所需要做的就是设置环境变量 ASPNETCORE_ENVIRONMENT,.net core 将自动处理它。
| 归档时间: |
|
| 查看次数: |
7478 次 |
| 最近记录: |