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

23,219

In .Net Core 3.1 you need to install these 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

Share:
23,219
stuck_inside_task
Author by

stuck_inside_task

Updated on July 09, 2022

Comments

  • stuck_inside_task
    stuck_inside_task almost 2 years

    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");
    }