Tag: 环境变量

Environment.GetEnvironmentVariable将找不到变量值

如果调用是在IIS上托管的webMethod中进行的,那么为什么Environment.GetEnvironmentVariable(“variableName”)不会获得变量值?如果我从同一台机器上的控制台应用程序调用它,它将会起作用? 我在哪里设置这些变量以使IIS Web服务可见? 我应该使用Environment.GetEnvironmentVariable(name, target)的第二个参数来获取它吗? 它实际上非常简单: [WebMethod(Description = “Gets the environment variable value.”)] public string GetEnvironmentVariable() { return Environment.GetEnvironmentVariable(“VARIABLE_NAME_HERE”); } 顺便说一句,VARIABLE_NAME_HERE设置在系统和用户级别。

如何在C#中设置系统环境变量?

我正在尝试在我的应用程序中设置系统环境变量,但获得SecurityException 。 我测试了我在谷歌找到的所有内容 – 没有成功。 这是我的代码(请注意,我是我的电脑的管理员并以管理员身份运行VS2012): 尝试1 new EnvironmentPermission(EnvironmentPermissionAccess.Write, “TEST1”).Demand(); Environment.SetEnvironmentVariable(“TEST1”, “MyTest”, EnvironmentVariableTarget.Machine); 尝试2 new EnvironmentPermission(EnvironmentPermissionAccess.Write, “TEST1″).Demand(); using (var envKey = Registry.LocalMachine.OpenSubKey(@”SYSTEM\CurrentControlSet\Control\Session Manager\Environment”, true)) { Contract.Assert(envKey != null, @”HKLM\System\CurrentControlSet\Control\Session Manager\Environment is missing!”); envKey.SetValue(“TEST1”, “TestValue”); } 尝试3此外,我试图用管理员权限assembly我的应用程序 。 你有什么其他的建议?

C#设置环境变量

我在使用C#设置环境变量时遇到问题。 我需要在某些情况下修改一些环境变量。 例如,我需要修改NDSRC变量。 我用: Environment.SetEnvironmentVariable(“MY_VARIABLE”, “value”, EnvironmentVariableTarget.Machine); 这很好用。 接下来我运行一些脚本whitch使用变量。 现在有一个问题,因为脚本没有看到变量。 示例:使用设置Path变量(在末尾添加目录) string path = Environment.GetEnvironmentVariable(“Path”, EnvironmentVariableTarget.Machine) + “;c:\\”; Environment.SetEnvironmentVariable(“Path”, path, EnvironmentVariableTarget.Machine); 打开Windows命令行(开始 – >运行 – > cmd.exe)。 在命令行中键入cmd 系统找不到cmd.exe:’cmd’未被识别为内部或外部命令,可运行程序或批处理文件。 如果检查Windows设置 – >环境变量,则路径已正确设置为新值。 如果您检入打开的命令提示符,它也会被设置。