How to read appsettings.json configuration file in .Net Core Console Application

Updated on: May 26, 2021

Appsettings.json file is used to store settings in .NET Core application, the same file can be added in .NET Core Console application to store the settings of the application, the following steps will help you create, write and read Appsettings.json configuration file in your .Net Core Console Aplication

Step 1: Create Dot Net Core Console application using Visual Studio or through .NET CLI Command as shown below:

.NET CLI Command:

dotnet new console -o SampleApplication1

Step 2: Once .NET Core Console application is created, create appsettings.json file in the project and add following configuration to the file:

{
  "ConnectionString": "Server=localhost;Database=tempDB;Uid=<dbUserName>;Pwd=<dbPassword>",
  "Smtp": {
    "Host": "smtp.gmail.com",
    "Port": "587",
    "Username": "<YourGmailUserName>",
    "Password": "<YourGmailPassword>",
    "From": "Your Name"
  }
}

Step 3: Modify appsettings.json file's "Copy to Output Directory" property to "Copy if newer" option from "Properties" window of Visual Studio as shown below:


Step 4: Now add the below Nuget Packages to your application:

dotnet add package Microsoft.Extensions.Configuration
dotnet add package Microsoft.Extensions.Configuration.Json

Step 5: Write the below code to read the appsetings.json file contents as shown below:

    class Program
    {
        static void Main(string[] args)
        {
              var builder = new ConfigurationBuilder()
               .AddJsonFile($"appsettings.json", true, true);

            var config = builder.Build();
            var connectionString = config["ConnectionString"];
            var emailHost = config["Smtp:Host"];
            Console.WriteLine($"Connection String is: {connectionString}");
            Console.WriteLine($"Email Host is: {emailHost}");
            Console.ReadLine();
        }
    }

Step 6: Now run the project and see the output, it will read the configuration from appsettings.json file and display it in result as shown below:

As shown above, you can use the above code to configure your application to use the configuration stored in appsettings.json file.