Переменная среды.NET возвращает ноль
У меня есть консольное приложение.NET. Я пытаюсь получить переменную среды, используя приведенный ниже код.
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
Однако переменная "среда" всегда возвращает ноль. Я устанавливаю переменную среды "ASPNETCORE_ENVIRONMENT" через
Панель управления -> Свойства системы -> Переменные среды -> Системные переменные
Я также попытался установить переменную среды с помощью команды set ASPNETCORE_ENVIRONMENT=development
но это тоже не сработало. Когда я отлаживаю код (F5) в Visual Studio, переменная всегда возвращает ноль. Я удостоверился, что нет пробелов, где я устанавливаю переменную, или в моем коде, где я ее читаю. Я что-то пропустил?
2 ответа
Я думаю, что установка переменной окружения будет работать, только если вы запустите консольное приложение через dotnet run
:
Когда переменная среды ASPNETCORE_ENVIRONMENT установлена глобально, она вступает в силу для запуска dotnet в любом командном окне, открытом после установки значения.
От: Использование нескольких сред в ASP.NET Core
Попробуйте установить его в свойствах отладки.
Щелкните правой кнопкой мыши свой проект в Visual Studio и выберите " Свойства" → " Отладка".
Установите переменную среды, как показано на изображении ниже.
У меня он отлично работает, даже когда вы запускаете приложение с помощью Visual Studio. Вы просто должны иметь в виду, что VS должен быть перезапущен после любых обновлений переменных среды (они не обновляются на лету).