You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6项目指定--environment Production仍运行于Development模式的疑问

.NET 6项目始终运行在Development模式的排查与解决

问题现象

执行dotnet run --environment Production(无论参数是否加引号)后,项目日志始终显示Hosting environment: Development,怀疑源码编译会强制使用Development模式。

运行日志示例:

$ dotnet run --environment Production
Building...
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://[::]:5002
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development

解决步骤

  • 修正命令参数顺序:dotnet run需要用--区分命令自身参数和应用程序参数,正确写法为dotnet run -- --environment Production。之前的写法中,--environment被识别为dotnet run的参数而非应用参数,导致未生效。
  • 检查launchSettings.json配置:查看项目根目录Properties/launchSettings.json,若其中ASPNETCORE_ENVIRONMENT或DOTNET_ENVIRONMENT被硬编码为Development,会覆盖命令行传入的参数,可注释该配置后重新测试。
  • 排查启动代码硬编码:检查Program.cs中是否有强制指定环境的代码,例如:
    var builder = WebApplication.CreateBuilder(args);
    // 若存在以下硬编码会忽略外部参数
    // builder.Environment.EnvironmentName = Environments.Development;
    
    如有此类代码,删除或注释后重新运行。

内容的提问来源于stack exchange,提问作者PandaWood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:10:26