我正在尝试在代码中使用环境变量。首先,我已经将它们设置在 ~/.zprofile 中,我可以通过getenvshell 以及 Java、NodeJS、Python 中的相关方法接收它们。
但是,这不适用于 C#。
我尝试过的:
foreach (String name in Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process).Keys)
{
Console.Write(name + "=");
Console.WriteLine(Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)[name]);
}
Run Code Online (Sandbox Code Playgroud)
这确实打印了几个环境变量。不是我需要的。
当我尝试时:
foreach (String name in Environment.GetEnvironmentVariables(EnvironmentVariableTarget.User).Keys)
{
// Never get here
}
foreach (String name in Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Machine).Keys)
{
// Never get here }
}
Run Code Online (Sandbox Code Playgroud)
这什么也不打印。
如何找到我的环境变量?谢谢。
编辑:通过 GUI 重新启动 Visual Studio 没有帮助。环境变量并不是新的。
一旦我关闭 Visual Studio 并从终端打开它
open /Applications/Visual\ Studio.app
Run Code Online (Sandbox Code Playgroud)
我在这里看到了所有环境变量:Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process) 与:Environment.GetEnvironmentVariables() 相同
因此,该问题似乎是 Mac 上的 Visual Studio 特有的,并且有特定的解决方案。