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
,