【发布时间】:2015-08-21 14:41:54
【问题描述】:
我有一个设置环境变量的简单 C# 控制台应用程序。有问题的行是:
Environment.SetEnvironmentVariable("testvar", args[0]);
我已经检查过了,args[0] 里面有一个值。
当我从 cmd 提示符运行编译的 exe 时,没有错误。
当我随后使用set testvar 时,我收到一条错误消息,提示未定义环境变量。
默认情况下,SetEnvironmentVariable 方法只为进程设置它。所以我认为它只存在于exe的生命周期中。如果是这种情况,如何设置 cmd 提示符的生命周期?
有什么想法吗?
我的目标是 .NET 4
问我问题的另一种方式是:
如何让 C# 为当前 cmd 提示存储一个值,该值可以在设置值的 exe 文件完成后读取。同一用户名下的多个登录名可能会使用此用户名,因此将值存储在某处可能会与另一个登录名冲突。
【问题讨论】:
-
阅读 MSDN 上的文档:msdn.microsoft.com/en-us/library/z46c489x(v=vs.110).aspx 具体:“创建、修改或删除当前进程中存储的环境变量。”
-
查看此重载:msdn.microsoft.com/en-us/library/96xafkes(v=vs.110).aspx 以了解操作系统的设置。
-
我试过 EnvironmentVariableTarget.User 效果一样
-
注销再登录,就可以看到效果了。不,没有比这更好的了。
标签: c#