Ошибка IIS, поскольку ASPNETCORE_ENVIRONMENT настроен на разработку, но его нет

Веб-приложение ASP.Net Core 2.2 публикуется на сервере dev/test. В моем профиле публикации у меня есть это

  <PropertyGroup>
    <EnvironmentName>Test</EnvironmentName>
  </PropertyGroup>

Когда я публикую в месте назначения, я смотрю на файл web.config, я вижу правильную настройку среды.

name="ASPNETCORE_ENVIRONMENT" value="Test" 

Однако, когда я захожу на веб-сайт в браузере, я получаю сообщение об ошибке, указывающее на то, что для переменной среды задано значение "Разработка"?

Ошибка. Произошла ошибка при обработке вашего запроса.

Идентификатор запроса: 0HLLKB82R933P:00000002 Режим разработки

Переключение в среду разработки отображает подробную информацию об ошибке, которая произошла.

Среда разработки не должна быть включена для развернутых приложений. Это может привести к отображению конфиденциальной информации от исключений для конечных пользователей. Для локальной отладки включите среду разработки, установив для переменной среды ASPNETCORE_ENVIRONMENT значение Development и перезапустите приложение.

[ Обновить ]
Если я изменил значение ASPNETCORE_ENVIRONMENT на "Тест" в настройках проекта, то перед публикацией приложение работает должным образом. Как ранее предлагал другой комментатор, это может быть что-то, что работает не так, как ожидается, для "внутрипроцессных" приложений. Так что я смотрю на это дальше.

1 ответ

То, что вы наблюдали, совершенно нормально.

Ваше веб-приложение вызвало необработанное исключение, и среда выполнения ASP.NET Core проверила среду. Поскольку вместо "Разработка" используется среда "Тест", на этой странице было показано, что было не так.

Если вы измените среду на Development, появится страница с ошибкой с дополнительной информацией (стек вызовов и т. Д.), Чтобы показать, что на самом деле происходит.

Чтобы избавиться от таких страниц с ошибками (для "Тест" или "Разработка"), вам нужно исправить свой код для обработки фактического исключения.

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