【发布时间】:2020-04-11 17:53:33
【问题描述】:
我无法让我的 .NET Core 3.1 控制台应用程序识别我的自定义系统环境变量。我可以提取和打印其他系统变量,例如用户名。但是,如果我在下面的示例中设置了一个像“TestKey”这样的自定义项,它们在应用程序中始终为空。
这是我的代码:
static void Main()
{
var config = new ConfigurationBuilder().AddEnvironmentVariables().Build();
var value = config.GetValue<string>("TestKey");
var envValue = Environment.GetEnvironmentVariable("TestKey");
Console.WriteLine($"Config Variable is: {value}");
Console.WriteLine($"Environment Variable: {envValue}");
}
这是输出:
并且系统变量清楚地显示该变量已被设置:
同样,当我从命令提示符对 TestKey 变量执行回显时,它会正确返回关联的值。
这是一台 Windows 10 Pro 计算机,它不是域的一部分。这种行为着实令人费解。我已经重新启动计算机,系统变量仍然存在,但仍然不会出现在应用程序中。
【问题讨论】:
-
您需要重新启动服务器才能访问新的环境变量。
标签: c# asp.net-core .net-core