我有一个用于我的项目的开发,登台和生产服务器。但是,当我在开发服务器上运行项目时,它将在生产模式下运行。我知道了,因为它使用的是我的appsettings.Production.json中的值。
如何指定我的项目应在此特定服务器上以开发模式运行?我尝试设置环境变量ASPNETCORE_ENVIRONMENT = Development
,但是没有用。
请帮助。我不知道这是如何决定使用生产环境的。任何见识都会有所帮助。
答案 0 :(得分:0)
环境设置是在操作系统的环境变量(即bash配置文件)中设置的。 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-2.1
但是您可以通过设置配置文件在启动时隔离环境设置。使用带有dotnet run
参数的--launchprofile
命令可以指定要使用的配置文件。这是Visual Studio在启动应用程序时也使用的方式。
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-2.1
在launchSettings.json中设置的变量集,您需要使用适当的“启动”配置文件进行构建和发布。
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:54339/",
"sslPort": 0
}
},
"profiles": {
"IIS Express-local": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_My_Environment": "1",
"ASPNETCORE_DETAILEDERRORS": "1",
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"EnvironmentsSample-staging": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Staging"
},
"applicationUrl": "http://localhost:54340/"
}
}
}