【问题标题】:.NET Core environment variable returns null.NET Core 环境变量返回 null
【发布时间】:2020-01-02 22:12:56
【问题描述】:

我有一个 .NET Core 控制台应用程序。我正在尝试使用以下代码检索环境变量。

var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");

但是,变量“环境”总是返回 null。我通过

设置环境变量“ASPNETCORE_ENVIRONMENT”

控制面板->系统属性->环境变量->系统 变量

我也尝试使用命令set ASPNETCORE_ENVIRONMENT=development 设置环境变量,但这也不起作用。当我在 Visual Studio 中调试代码 (F5) 时,该变量始终返回 null。我已确保在我设置变量的位置或在我读取它的代码中没有任何空格。我有什么遗漏吗?

【问题讨论】:

  • qwe 写了一个 Answer 说“重启 VS”
  • 我在“ASPNETCORE_ENVIRONMENT”上有额外的空间(我在里面设置了 env var)现在它工作正常
  • 重启 VS 对我有用

标签: c# .net-core configuration .net-core-configuration


【解决方案1】:

我认为设置环境变量只有在您通过dotnet run 启动控制台应用程序时才有效:

当全局设置 ASPNETCORE_ENVIRONMENT 环境变量时, 它对 dotnet 在之后打开的任何命令窗口中运行生效 值已设置。

发件人:Use multiple environments in ASP.NET Core


尝试将其设置为您的调试属性。

在 Visual Studio 中右键单击您的项目,然后选择 PropertiesDebug

如下图所示设置环境变量。

【讨论】:

  • 谢谢。这样可行。但是,为什么它不从系统属性-> 环境变量中读取?
  • 我认为这仅适用于使用“dotnet run”启动的应用程序,而不适用于使用 Visual Studio 启动的应用程序。来自文档“当全局设置 ASPNETCORE_ENVIRONMENT 环境变量时,它对设置值后打开的任何命令窗口中的 dotnet run 生效。”
猜你喜欢
  • 2018-09-30
  • 2016-11-11
  • 1970-01-01
  • 2021-05-14
  • 2020-09-04
  • 2018-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多