c# - 在 MacOS、.Net Core 3.1 / .Net 5.0 上看不到 C# 中的系统环境变量。(视觉工作室)
问题描述
我正在尝试在代码中使用环境变量。首先,我将它们设置在 ~/.zprofile 中,我可以通过 shell 中的 getenv 和 Java、NodeJS、Python 中的相关方法接收它们。
但是,这不适用于 C#。
我尝试了什么: foreach(Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process).Keys 中的字符串名称){ Console.Write(name + "="); 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 没有帮助。环境变量不是新的。
解决方案
一旦我关闭了 Visual Studio 并从终端打开它
open /Applications/Visual\ Studio.app
我在这里看到了我所有的环境变量: Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process) 与:Environment.GetEnvironmentVariables()
因此,该问题似乎特定于 Mac 上的 Visual Studio,并具有特定的解决方案。
推荐阅读
- node.js - 托管反应应用程序和快速服务器cpanel
- javascript - 停止 VS Code 抱怨 `require`s
- r - ESPN Play-By-Play 中一系列事件的 Web 抓取图像 URL
- kubernetes - 如何在 Stackdriver 日志中检测 GKE 自动升级节点
- r - 汇总表中的组件产品
- gnuplot - 如何在gnuplot中找到标签的颜色数量?
- wordpress-gutenberg - InnerBlocks renderAppender 不做任何事情
- neo4j - 如何从节点对象获取子图?
- android - “W/ActivityThread:handleWindowVisibility:令牌 android.os.BinderProxy@eb23963 没有活动”是什么意思?
- python - 如何使检查点在 tf.train 优化器中存储时刻和其他相关变量