You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core控制台应用中Environment.GetEnvironmentVariable获取旧值问题

环境变量修改后VS调试仍取旧值的解决办法

问题原因

Windows系统中,进程启动时会继承父进程的环境变量。你修改环境变量后,Visual Studio 2019是在修改前启动的,它的环境变量还是旧的;调试时启动的控制台应用进程会继承VS的环境变量,所以调用Environment.GetEnvironmentVariable()拿到的还是旧值。另外补充:当用户变量和系统变量同名时,Environment.GetEnvironmentVariable()会优先读取用户变量的值。

解决步骤

  • 完全重启VS:关闭所有Visual Studio窗口,包括后台可能残留的进程,重新打开项目后再调试。重启后的VS会重新加载系统和用户的最新环境变量,调试进程就能获取新值。
  • 在项目调试设置中手动覆盖:
    1. 右键项目 → 属性 → 调试选项卡
    2. 找到「环境变量」区域,点击「编辑」按钮
    3. 添加或修改目标环境变量为新值,调试时应用会优先使用这里的配置
  • 通过命令行启动VS加载新变量:
    1. 打开命令提示符,执行setx 你的变量名 "新值"(修改用户变量)或setx 你的变量名 "新值" /m(修改系统变量)
    2. 关闭当前命令行窗口,重新打开一个新窗口
    3. 在新窗口中输入devenv启动VS,此时VS会加载更新后的环境变量

内容的提问来源于stack exchange,提问作者Guy E

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:46:08