Развертывание ASP.NET Core при ошибке IIS: среда разработки не должна быть включена в развернутых приложениях
Я следовал этой статье, чтобы развернуть мое приложение ASP.NET MVC Core 1.0 в локальном IIS на моей Windows 10, которая использует IIS 10. Приложение успешно развернуто, и оно прекрасно открывает домашнюю страницу. Я использую аутентификацию индивидуальных учетных записей пользователей. На домашней странице, когда я ввожу логин/пароль и нажимаю кнопку "Вход", я получаю следующую ошибку. Я использую последние версии ASP.NET Core и VS2015. Для публикации приложения я использовал мастер публикации VS2015. Все сделано на одной машине:
Произошла ошибка при обработке вашего запроса.
Режим разработки
Переключение в среду разработки отобразит более подробную информацию об ошибке, которая произошла.
Среду разработки не следует включать в развернутых приложениях, так как это может привести к тому, что конфиденциальная информация от исключений будет отображаться конечным пользователям. Для локальной отладки среду разработки можно включить, задав для переменной среды ASPNETCORE_ENVIRONMENT значение Development и перезапустив приложение.
Ответы
Ответ 1
Сначала проверьте значение переменной ASPNETCORE_ENVIRONMENT
. Вам придется установить эту переменную среды в "Production" (или другую среду, кроме разработки).
В противном случае вы можете обновить web.config
следующим образом:
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\Application.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</configuration>
Подробнее см. .
Ответ 2
Я хотел запустить его в среде разработки, поэтому добавил следующее в файл web.config, и он работал для меня:
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
![enter image description here]()
Ответ 3
Во-первых, эта ошибка возникает, когда вы публикуете веб-сайт, который вызывает ошибки во время выполнения. Поэтому проверьте ваш код еще раз на страницах, которые дают эту ошибку. Затем установите для переменной ASPNETCORE_ENVIRONMENT
значение Production
(вместо Development
), вам также следует проверить страницу макета и изменить <environment"development">
на <environment"Production">
. Наконец, опубликуйте свой веб-сайт. Это проверено в VS2017
Ответ 4
Это может быть не для всех, однако я пытался развернуть конфигурацию "release" на сервере, который имел переменную окружения "uat". Я настроил конфигурацию uat для использования со своим развертыванием, и сообщение больше не появлялось при переходе на URL моего сайта. Короче говоря, просто убедитесь, что ваша конфигурация сборки соответствует целевому серверу, как уже упоминалось выше!