У меня Windows 7, и я использую этот код:Почему переменная среды не изменяется?
string genericLib = ConfigurationManager.AppSettings["GenericLib"];
if (!string.IsNullOrEmpty(genericLib))
{
string path = Environment.GetEnvironmentVariable("Path");
if (path != null && !path.Contains(genericLib))
{
path = genericLib + ";" + path;
Environment.SetEnvironmentVariable("path", path);
}
string new_path = Environment.GetEnvironmentVariable("Path");
}
Отладчик показывает мне, что new_path переменная действительно содержит новый путь, который я добавил. Но в следующий раз, когда я исполню этот код, добавленный путь больше не существует.
Кто-нибудь знает, почему это так?
Это в значительной степени отвечал прямо из описания резюме перегрузок [ 'Environment.SetEnvironmentVariable'] (https://msdn.microsoft.com/en-us/library/system. environment.setenvironmentvariable (v = vs.110) .aspx). – hvd
@hvd: спасибо – walruz