我了解 ASP.NET Core 的默认优先顺序,如此处所述 MS Docs |默认应用程序配置源。不过我想知道是否可以更改此顺序?
在我的场景中,所有应用程序设置都定义为
deployment.yaml
清单中的环境变量,该清单存储在 GitOps 操作员 (ArgoCD) 用来部署应用程序的远程清单存储库中。
但是,在处理功能分支时,我希望能够使用应用程序源代码存储库中的
appsettings.preview.json
文件覆盖这些环境设置,从而避免在处理功能时更改应用程序清单存储库。 仅当测试完成后才会对该远程存储库进行更改,并且我们可以在 deployment.yaml
清单的环境变量中定义所需的值。
我计划使用
ASPNETCORE_ENVIRONMENT=Preview
部署功能分支版本,并且仅根据设置的值更改顺序。
我建议你可以考虑先检查环境并手动添加配置appsetting.json文件,如下所示:
var env = builder.Environment;
if (env.EnvironmentName == "Preview")
{
builder.Configuration.AddJsonFile("appsettings.preview.json", optional: true, reloadOnChange: true);
}
else
{
builder.Configuration.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
}