Развертывание 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 моего сайта. Короче говоря, просто убедитесь, что ваша конфигурация сборки соответствует целевому серверу, как уже упоминалось выше!