C# – How to generate the appsettings..json file

asp.net-coreasp.net-core-2.1asp.net-core-webapic

I have an ASP.NET Core 2 WebAPI which will be deployed across the following environments:

INT, QA, STAGE, PRODUCTION environments.

Based on the above, I need to have appsettings.<EnvironmentName>.json file for each environment. From the link : https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-2.1, I see that

In case of local development environment, the Environment Variable called ASPNETCORE_ENVIRONMENT is set to Development. In case of the deployment where ASPNETCORE_ENVIRONMENT is not set, the default is Production

I would like to know what are the steps required to take care while preparing the appsettings.<EnvironmentName>.json file for INT, QA and STAGE environment. Do I need to set the environment explicitly for each environment web server:

set ASPNETCORE_ENVIRONMENT=Development.

Can anyone help me to by providing their guidance?

Best Answer

I might be missing something, but this seems pretty straight-forward. To create the environment-specific setting files, you literally just create them in your project, i.e. create a new file called appsettings.Foo.json in the root of your project. Visual Studio will automatically put it under appsettings.json as a parent in the Solution Explorer.

On the server, yes, you'd need to set the environment you want to run under to ASPNETCORE_ENVIRONMENT. If it's supposed to use appsettings.QA.json, then set it to QA. That's all there is to it.