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

.NET 6环境判定规则及控制台应用Production环境配置位置查询

.NET 6控制台应用Production环境配置位置说明

针对你的.NET 6控制台应用,使用Host.CreateDefaultBuilder时,Production环境的配置会从以下位置按优先级加载(优先级从低到高,高优先级会覆盖低优先级配置):

  • 项目配置文件
    首先加载根目录下的appsettings.json基础配置,然后自动叠加appsettings.Production.json中的配置(该文件仅对Production环境生效)。编译后这两个文件会输出到程序的运行目录,若不存在appsettings.Production.json,则仅使用appsettings.json的配置。

  • 环境变量
    系统或当前会话中前缀为DOTNET_的环境变量会被加载,优先级高于配置文件。比如设置DOTNET_ConnectionStrings__DefaultConnection可以覆盖配置文件中的数据库连接字符串。
    你也可以在启动应用时临时指定环境变量(同时也能确认当前环境):

    # Windows CMD
    set ASPNETCORE_ENVIRONMENT=Production && YourApp.exe
    # Windows PowerShell
    $env:ASPNETCORE_ENVIRONMENT='Production'; .\YourApp.exe
    # Linux/macOS终端
    ASPNETCORE_ENVIRONMENT=Production ./YourApp
    
  • 命令行参数
    启动应用时传入的命令行参数优先级最高,比如:

    YourApp.exe --ConnectionStrings:DefaultConnection "Data Source=..."
    

    这类参数会直接覆盖配置文件和环境变量中的对应项。

另外需要注意:Host.CreateDefaultBuilder默认会读取ASPNETCORE_ENVIRONMENT或DOTNET_ENVIRONMENT环境变量来确定当前运行环境,你看到的'Production'就是由这两个变量其中之一指定的(如果没手动设置,默认环境就是Production)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 09:57:18