我正在尝试通过
在 Windows 10x64 22H2 上运行我的 .net 8 服务dotnet run --environment Test
或
dotnet run --environment Production
但它总是打印:
Hosting environment: Development
如何强制服务使用特定环境?
为了确定运行时环境,ASP.NET Core 从以下环境变量中读取:
1)DOTNET_ENVIRONMENT
2) 调用 WebApplication.CreateBuilder 方法时的 ASPNETCORE_ENVIRONMENT。默认的 ASP.NET Core Web 应用模板调用 WebApplication.CreateBuilder。使用 WebApplicationBuilder 时,DOTNET_ENVIRONMENT 值会覆盖 ASPNETCORE_ENVIRONMENT。对于其他主机,例如ConfigureWebHostDefaults和WebHost.CreateDefaultBuilder,ASPNETCORE_ENVIRONMENT具有更高的优先级。
请参阅 https://learn.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-8.0
注:
如果未设置 DOTNET_ENVIRONMENT 和 ASPNETCORE_ENVIRONMENT,则 Production 为默认值。默认情况下,部署到 Azure 的应用程序是生产应用程序。
launchSettings.json 中的环境值会覆盖系统环境中设置的值。
设置 ASPNETCORE_ENVIRONMENT:
set ASPNETCORE_ENVIRONMENT=Production
dotnet run --no-launch-profile