.NET Core 3.1 loading config from appsettings.json for console application

stuck_inside_task :

For .NET Core 3.1, console application how can I read a complex object from appsetting.json file and cast it into the corresponding object?

All the examples I see online seem to be for previous versions of .NET core and things seems to have changed since then. Below is my sample code. I don't really know how to proceed from here. Thank you for your help.

appsettings.json

{
  "Player": {
    "Name": "Messi",
    "Age": "31",
    "Hobby": "Football",
  }
}

Player.cs

class Player
    {
       public string Name { get; set; }
       public string Age { get; set; }
       public string Hobby { get; set; }
    }

Program.cs

 static void Main(string[] args)
 {
            var config = new ConfigurationBuilder()
                .SetBasePath(Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location))
                .AddJsonFile("appsetting.json").Build();
            var playerSection =  config.GetSection("Player");
 }
Farhad Zamani :

In .Net Core 3.1 you need install this packages

  • Microsoft.Extensions.Configuration.Json

  • Microsoft.Extensions.Configuration.FileExtensions

then build IConfiguration

 static void Main(string[] args)
 {
    IConfiguration configuration = new ConfigurationBuilder()
       .AddJsonFile("appsettings.json", true,true)
       .Build();
    var playerSection = configuration.GetSection(nameof(Player));
}

Reference Configuration in ASP.NET Core

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=391230&siteId=1