IConfiguration 不从 appsettings.json 中检索值,而是从 Azure Key Vault 中检索值

IConfiguration does not retrieve values from appsettings.json but from Azure Key Vault

在 .NET Core 3.1 Web API 的 Program.cs 文件中,我得到以下内容:

    public class Program
{

    private static string _someValue;

    public Program(IConfiguration configuration)
    {
        _someValue = configuration["SOME_VALUE"]

    }

在 appsettings.json 里面我得到了:

{
 "Logging": {
    "LogLevel": {
        "Default": "Information",
        "Microsoft": "Warning",
        "Microsoft.Hosting.Lifetime": "Information"
    }
},
 "SOME_VALUE": "value"

}

问题是,我无法从 appsettings.json 中获取值“SOME_VALUE”。但是我在 Azure Key Vault 中获得了相同的值,并且出于某种原因它从那里获取了值。有人可以解释为什么会这样吗?

配置提供程序按特定顺序执行

在您的情况下,Azure KeyVault 将位于顶部(或者,更准确地说,它位于 AddUserSecrets 和 AddEnvironmentVariables 之间)

See docs

在代码中对配置提供程序进行排序,以适应应用所需的底层配置源的优先级,或者使用不同的变量名称