Ошибка 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, появится страница с ошибкой с дополнительной информацией (стек вызовов и т. Д.), Чтобы показать, что на самом деле происходит.
Чтобы избавиться от таких страниц с ошибками (для "Тест" или "Разработка"), вам нужно исправить свой код для обработки фактического исключения.