【问题标题】:Code cannot retrieve the value of an environmental variable I just created in Windows代码无法检索我刚刚在 Windows 中创建的环境变量的值
【发布时间】:2019-02-21 18:14:27
【问题描述】:

我刚刚创建了一个这样的 Windows 环境变量:

但是,当我尝试在我正在调试的代码中检索它的值时,它为空:

为什么这不起作用?


我的问题与to this one 有关,正如此处的 cmets 所指出的那样。

我已经查看了该问题,并且我同意我观察到的行为的根本原因与所引用问题的核心是相同的:在 Windows 中启动的任何进程都会继承该进程的环境那开始了。但是,在我看来,说我的问题是重复的是错误的。

行为可以用相同的根本原因来解释,但这并不意味着它们是重复的;不同的问题允许有一些重叠。我知道评论者能够找到相关问题,但我问自己:大多数人是否能够从我所拥有的有利位置开始搜索和定位该页面,而无需事先了解这些问题事情成功了吗?我假设 Visual Studio 的独特之处在于它加载了环境变量以用于已调试应用程序的 .NET 运行时。引用的问题根本与 Visual Studio 无关。这是关于启动另一个进程的 VB6 进程。同样,根本原因是相同的,但我在知识上存在差距——就像大多数其他人假设我在 Visual Studio 中开发时所做的那样——这阻止了我搜索和识别引用的问题作为答案我的独特环境。

我认为对我的问题有一个单独的答案是完全合适的,它将读者引导至所引用的问题或其答案之一并摘录重要的细节。这样,这两个同级问题就可以联系起来以供将来参考。

【问题讨论】:

标签: .net visual-studio visual-studio-2017 environment-variables


【解决方案1】:

Visual Studio 在启动时似乎会加载所有环境变量。关闭 Visual Studio 并重新打开它。在此之后,相同的代码执行以下操作:

【讨论】:

  • 任何进程在启动时都会加载环境变量。在这种情况下,它不是 Visual Studio,而是由 Visual Studio 启动的应用程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多