[英]Do not see system environment variables in C# on MacOS, .Net Core 3.1 / .Net 5.0. (Visual Studio)
I am trying to use an environment variable in a code.我正在尝试在代码中使用环境变量。 First of all, I have set them in ~/.zprofile, I can receive them via getenv in shell and via relevant methods in Java, NodeJS, Python.首先,我在~/.zprofile中设置了它们,我可以通过shell中的getenv和Java中的相关方法接收它们,NodeJS,Python。
However, this doesn't work with C#.但是,这不适用于 C#。
What I tried: foreach (String name in Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process).Keys) { Console.Write(name + "=");我试过什么: Console.WriteLine(Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)[name]); Console.WriteLine(Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)[名称]); } This does print several env variables.这确实打印了几个环境变量。 Not the ones I need.不是我需要的。
And when I try:当我尝试时:
foreach (String name in Environment.GetEnvironmentVariables(EnvironmentVariableTarget.User).Keys)
{
//Never get here
}
foreach (String name in Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Machine).Keys)
{
//Never get here }
}
This prints nothing.这什么都不打印。
How can I find my environment variables?如何找到我的环境变量? Thanks谢谢
Edit: restarting Visual Studio via GUI didn't help.编辑:通过 GUI 重新启动 Visual Studio 没有帮助。 The env variables were not new. env 变量不是新的。
Once I closed Visual Studio and opened it from the terminal一旦我关闭 Visual Studio 并从终端打开它
open /Applications/Visual\ Studio.app
I saw all of my env variables here: Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process) which is the same as: Environment.GetEnvironmentVariables()我在这里看到了我所有的环境变量:Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process) 与:Environment.GetEnvironmentVariables() 相同
So the issue seems specific to Visual studio on Mac, with a specific solution.所以这个问题似乎特定于 Mac 上的 Visual Studio,有特定的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.