Environment.SetEnvironmentVariable не устанавливает никакого значения

Я сталкиваюсь с этой проблемой только

  • Windows Server 2016 (Win2016) и
  • VisualStudio-распространяемый 2015 (VS-redist-2015 = msvcp14)

C# Environment.SetEnvironmentVariable(key,val, EnvironmentVariableTarget.Process) похоже не устанавливает значения, которые можно получить в приложении native-C с помощью getenv()

Приложение native-C getenv() может считывать значения ОК, используя Win2016 + VS-redist-2010

Это прекрасно работает в Windows Server 2012 и 2008 с использованием VS-Redist-2015

Любая мысль / предложение будет оценено.

1 ответ

По умолчанию Environment.SetEnvironmentVariable(string <variable>, string <value>) хранит переменные для текущего процесса. Чтобы быть более уверенным, вам нужно использовать перегрузку, которая содержит цель Environment.SetEnvironmentVariable(string <variable>, string <value>, EnvironmentVariableTarget <target>), Таким образом, вы можете установить цель на Machine или же User,

Другие вопросы по тегам