Я пытаюсь настроить одну и ту же переменную среды так, чтобы по умолчанию использовалась система, и отдельные пользователи могут выбрать другую опцию, если они того пожелают. Насколько мне известно, это просто должно работать, если у меня есть одна и та же переменная среды в двух местах, пользовательская переменная получает предпочтение. Однако в C# когда я получаю переменную среды, я должен выбрать кеши компьютера или пользователя.
Полагаю, я могу написать код, чтобы просто проверить пользователя и, если он нулевой, то go для машины, но это кажется неудачным окольным путем сделать что-то, о чем я думал, что операционная система должна была позаботиться обо мне - как правильно переложить эту ответственность на ОС?
Ниже приведено то, что я мог бы использовать для получения переменной окружения, но мне кажется утомительным, когда я считаю, что ОС должна справиться с этим.
var FooVariable =
Environment.GetEnvironmentVariable("Foo", EnvironmentVariableTarget.User) ??
Environment.GetEnvironmentVariable("Foo", EnvironmentVariableTarget.Machine);