【问题标题】:ASPNETCORE_ENVIRONMENT no longer overrides DOTNET_ENVIRONMENT?ASPNETCORE_ENVIRONMENT 不再覆盖 DOTNET_ENVIRONMENT?
【发布时间】:2023-01-30 21:13:41
【问题描述】:

根据 docsASPNETCORE_ENVIRONMENT 应该覆盖 DOTNET_ENVIRONMENT 环境变量。所以,我继续在我机器的系统环境变量上添加了一个 DOTNET_ENVIRONMENT 条目设置为 Development

在我的一个项目中,我必须创建一个新的自定义配置文件,它应该只在我的应用程序使用 Kestrel 时使用(例如:从 VS 中运行)。为了选择我的自定义配置文件,我将以下部分添加到其中一个配置文件中:

"profiles": {
      "Grm.ClientManagementSite.Wasm.Server": {
        "commandName": "Project",
        "dotnetRunMessages": true,
        "launchBrowser": true,
        "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
        "applicationUrl": "https://localhost:7126;http://localhost:5126",
        "environmentVariables": {
          "ASPNETCORE_ENVIRONMENT": "Local"
        }
      },
...
}

我注意到,每当我运行此配置文件时,环境总是设置为 Development(由我添加到机器系统环境变量的全局系统条目定义)。

我还注意到,如果我使用 DOTNET_ENVIRONMENT 变量,那么我的自定义配置文件将被选中。我几乎肯定我之前的设置(使用 ASPNETCORE_ENVIRONMENT 覆盖 lauchSettings.json 上的配置文件)在我创建这个项目时有效。有谁知道这是 .NET 7.0 的已知问题?

谢谢。

【问题讨论】:

    标签: c# asp.net-core environment-variables .net-7.0


    【解决方案1】:

    是的,在使用 WebApplicationBuilderDOTNET_ 变量时启动 .NET 7 Preview 3 比 ASPNETCORE_ 变量具有更高的优先级。请参阅此github issuethis breaking change article

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      • 2019-09-29
      • 2023-02-17
      • 1970-01-01
      • 1970-01-01
      • 2016-11-28
      • 2022-11-18
      相关资源
      最近更新 更多