C# Visual Studio无法识别环境变量中的更改
我在程序中使用环境变量,并在Visual Studio外部设置变量值。当我尝试下面的代码行时,只有在打开VS的当前实例之前设置了变量值,它才会返回变量值。以后所做的任何更改都不会产生任何效果C# Visual Studio无法识别环境变量中的更改,c#,visual-studio,environment-variables,C#,Visual Studio,Environment Variables,我在程序中使用环境变量,并在Visual Studio外部设置变量值。当我尝试下面的代码行时,只有在打开VS的当前实例之前设置了变量值,它才会返回变量值。以后所做的任何更改都不会产生任何效果 var variableValue = Environment.GetEnvironmentVariable("Env_Var"); 要接收新的值集,唯一的出路是重新启动VS。 看起来VS在启动时缓存这些值,因此不考虑任何新的更改。但是,我的问题是,是否有任何方法刷新当前VS会话,以便我可以读取已更改的环
var variableValue = Environment.GetEnvironmentVariable("Env_Var");
要接收新的值集,唯一的出路是重新启动VS。
看起来VS在启动时缓存这些值,因此不考虑任何新的更改。但是,我的问题是,是否有任何方法刷新当前VS会话,以便我可以读取已更改的环境变量值&因此无需再次重新启动它?可以使用每台机器的环境变量。对这些的更改将反映在正在运行的流程中
Environment.GetEnvironmentVariable("Env_Var", EnvironmentVariableTarget.Machine)
但是,使用机器范围内的变量是否可行取决于您的场景。否,没有。每个应用程序在启动时都以自己的环境副本启动,然后启动另一个进程时,它只获取父进程拥有的内容。解决这一问题的方法是使用配置文件、注册表项或其他立即生效的非环境源。