【发布时间】:2023-01-30 21:13:41
【问题描述】:
根据 docs,ASPNETCORE_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