从.net core 3.1中的appsettings.json获取值

use*_*704 7 c# .net-core

我想做的事情应该很简单,但我无法让它发挥作用!

我的appsettings.json文件:

{
  "AppSettings": {
    "myKey": "myValue",
  }
}
Run Code Online (Sandbox Code Playgroud)

进而:

var config = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
var myValue = config["myKey"];
Run Code Online (Sandbox Code Playgroud)

myValue一片空白。

我也尝试过:

var builder = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
    .AddEnvironmentVariables();
IConfiguration config = builder.Build();

var myValue = config.GetSection("myKey");
Run Code Online (Sandbox Code Playgroud)

但同样,myValue为空。

Gab*_*lli 7

在您的 appsettings.json 中,myKey位于 AppSettings 对象内。

整个对象正在加载,因此您需要引用它:

var myValue = config["AppSettings:myKey"];
Run Code Online (Sandbox Code Playgroud)

参考: https: //learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/ ?view=aspnetcore-3.1#hierarchical-configuration-data