【问题标题】:Environment.SetEnvironmentVariable not workingEnvironment.SetEnvironmentVariable 不起作用
【发布时间】: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 文件完成后读取。同一用户名下的多个登录名可能会使用此用户名,因此将值存储在某处可能会与另一个登录名冲突。

【问题讨论】:

标签: c#


【解决方案1】:

听起来你想要整个机器的环境变量,而不仅仅是这个过程。

Environment.SetEnvironmentVariable("testvar", args[0], EnvironmentVariableTarget.Machine);

很遗憾,您需要在更新环境变量之前重新启动进程。 C# set environment variable

将信息存储在注册表或文件中可能更适合您。这完全取决于您的应用程序能够使用什么,但这也可能是一种选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多