问题
I have an asp.net core 2 web api 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?
回答1:
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.
回答2:
You will have to set the ASPNETCORE_ENVIRONMENT
on the server with the configuration you wish to host the app.
Take a look at the sample project provided by Microsoft on Github
Sample Environment project
来源:https://stackoverflow.com/questions/53161103/how-to-generate-the-appsettings-environmentname-json-file