Environment.SetEnvironmentVariable不设置任何值

时间:2018-03-21 04:46:42

标签: c# c mapserver getenv

我只用

遇到了这个问题
  • Windows Server 2016(Win2016)和
  • VisualStudio-redistributable 2015(VS-redist-2015 = msvcp14)

c#Environment.SetEnvironmentVariable(key,val, EnvironmentVariableTarget.Process)似乎没有使用getenv()设置可在原生C应用上检索的值

native-C app getenv()可以使用Win2016 + VS-redist-2010

读取值OK

使用VS-redist-2015

在Windows Server 2012和2008中运行良好

任何想法/建议都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

默认情况下,Environment.SetEnvironmentVariable(string <variable>, string <value>)存储当前进程的变量。更确定您需要使用包含目标Environment.SetEnvironmentVariable(string <variable>, string <value>, EnvironmentVariableTarget <target>)的重载。这样,您可以将目标设置为MachineUser