为什么“dotnet run”总是在开发模式下运行我的项目?

问题描述 投票:0回答:1

我正在尝试通过

在 Windows 10x64 22H2 上运行我的 .net 8 服务
dotnet run --environment Test

dotnet run --environment Production

但它总是打印:

Hosting environment: Development

如何强制服务使用特定环境?

.net .net-core
1个回答
0
投票

为了确定运行时环境,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
© www.soinside.com 2019 - 2024. All rights reserved.