Переменная среды.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 должен быть перезапущен после любых обновлений переменных среды (они не обновляются на лету).

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