繁体   English   中英

在 MacOS、.Net Core 3.1 /.Net 5.0 上看不到 C# 中的系统环境变量。 (视觉工作室)

[英]Do not see system environment variables in C# on MacOS, .Net Core 3.1 / .Net 5.0. (Visual Studio)

我正在尝试在代码中使用环境变量。 首先,我在~/.zprofile中设置了它们,我可以通过shell中的getenv和Java中的相关方法接收它们,NodeJS,Python。

但是,这不适用于 C#。


我试过什么: Console.WriteLine(Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)[名称]); 这确实打印了几个环境变量。 不是我需要的。


当我尝试时:

        foreach (String name in Environment.GetEnvironmentVariables(EnvironmentVariableTarget.User).Keys)
        {
            //Never get here                                                                                             
        }

        foreach (String name in Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Machine).Keys)
        {
            //Never get here                                                                                                }
        }

这什么都不打印。


如何找到我的环境变量? 谢谢

编辑:通过 GUI 重新启动 Visual Studio 没有帮助。 env 变量不是新的。

一旦我关闭 Visual Studio 并从终端打开它

open /Applications/Visual\ Studio.app 

我在这里看到了我所有的环境变量:Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process) 与:Environment.GetEnvironmentVariables() 相同

所以这个问题似乎特定于 Mac 上的 Visual Studio,有特定的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM