ConfigurationBuilder Getsection () возвращает значение null в консольном приложении .net core 2.1. Я искал довольно много блогов и постов, но есть пример json, где он вложен до 3-4 уровней.
Мотив - прочитать весь «тестовый» ключ json и его элементы и выполнить операции. Я хочу, чтобы этот json можно было настраивать вне приложения, чтобы его можно было изменить без внесения каких-либо изменений в код.
Ниже приведен пример кода
{
"test": {
"test1": {
"testing": {
"ApplicationName": "Microsoft Visual Studio",
"appid": "123456",
"ApplicationProfile": {
"Vs2015": "Microsoft Visual Studio 2015 Professional",
"VS_2017_Restricted": "Microsoft Visual Studio 2017 Enterprise (Restricted)"
}
}
},
"Applications": {
"app1": {
"Name": "application1",
"arrayOfSomething": [ "first array elment", "Secondarrayelement" ],
"anotherarraylikeabove": [],
},
"app2": {
"Name": "application2",
"Softwares": [ "first array elment", "second element" ],
"APACGroups": [],
"EMEA": [],
"OnlyForZurich": []
}
}
}
}
}
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appSettings.json", optional: true, reloadOnChange: true);
IConfigurationRoot configuration = builder.Build();
var test = configuration.GetSection("app2"); //test is null always