当我打开Windows命令提示符并输入“set”然后输入时,我会得到一个系统变量列表。
如何使用visual studio在C#中设置/获取它们?
我试过了:
System.Environment.SetEnvironmentVariable("TestVariableName", "test123");
但是,当我在命令行中输入“set”时,我没有看到名为“TestVariableName”的新变量,其值为“test123”。
我做错了什么?
由于
答案 0 :(得分:7)
首先,您使用的SetEnvironmentVariable的重载“创建,修改或删除存储在当前进程中的环境变量 。” (http://msdn.microsoft.com/en-us/library/system.environment.setenvironmentvariable.aspx?ppud=4)。
如果您想让this overload值Machine
影响其他程序,则应使用EvironmentVariableTarget。
其次,环境变量在进程启动时从系统或父进程复制,即使在更广泛的系统中更改,也不会从正在运行的应用程序的角度进行更改。
在您的情况下,在设置变量后启动命令行的新实例,您应该看到您的变量。