Не удается получить доступ к странице IIS Server и ASP.Net Core - поскольку связанные данные конфигурации для страницы недействительны

Я получаю следующую ошибку при попытке запустить приложение ASP.Net Core с помощью IIS Server v7.5... Я успешно опубликовал веб-сайт (параметр "Файловая система" в Visual Studio) в конкретном каталоге. Он запускает штраф из файла approot/web.cmd. Но когда я пытаюсь подключить его к серверу IIS и указывать его в папку wwwroot, я получаю следующую ошибку:

Ошибка HTTP 500.19 - Внутренняя ошибка сервера

Запрошенная страница не может быть доступна, поскольку связанные с ней данные конфигурации для страницы недействительны.

  • Подробная информация об ошибке
  • Модуль IIS Web Core
  • Неизвестно Неизвестно
  • Обработчик еще не определен
  • Код ошибки 0x8007000d
  • Ошибка конфигурации
  • Файл конфигурации \?\D:\WebDevelopment\UAT\creativeNamePROD\wwwroot\web.config
  • Запрошенный URL http://10.2.177.226:59/
  • Физический путь
  • Метод входа еще не определен
  • Пользователь входа в систему Пока не определено
  • Журнал журнала отслеживания неудачных запросов

Ниже представлены два разных файла web.config, которые я пробовал ни с кем работать. Когда я пытаюсь войти в Редактор конфигурации в IIS, я также получаю неясную ошибку. Любая помощь будет принята с благодарностью.

<configuration>
<system.web>
  <httpRuntime maxQueryStringLength="64768" maxUrlLength="65536" />
</system.web>
<system.webServer>
<security>
  <requestFiltering>
    <requestLimits maxQueryString="64768" />
  </requestFiltering>
</security>
<handlers>
  <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="..\logs\stdout.log" startupTimeLimit="3600"></httpPlatform>
</system.webServer>
</configuration>

Web.config # 2 - сохраняет ту же ошибку

<configuration>
  <system.webServer>
    <handlers>
      <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="..\logs\stdout.log" startupTimeLimit="3600"></httpPlatform>
  </system.webServer>
</configuration>

Ответ 1

Я получаю эту ошибку. Я исправил эту ошибку, установив пакет хостинга Windows Server Windows.NET, как описано в подобных инструкциях.

Install the.NET Core Hosting Bundle

Установите основной пакет хостинга .NET на хостинг-систему. Пакет устанавливает .NET Core Runtime,.NET Core Library и ASP.NET Core Module. Модуль создает обратный прокси-сервер между IIS и сервером Kestrel. Если у системы нет подключения к Интернету, перед установкой пакета .NET Core Hosting Bundle получите и установите распространяемый Microsoft Visual C++ 2015.

Как говорит @Patrick, вы можете скачать установочные пакеты из по этой ссылке.

После установки этого модуля мое приложение обслуживалось (т.е. ошибка 500).

Я вижу, @Йорген уже сделал этот комментарий на OP, поэтому он получает кредит:

Вы установили пакет .NET Core Windows Server Hosting? Это необходимо для работы IIS в качестве обратного прокси-сервера для основных библиотек .net. Вы найдете ссылку в этой статье: docs.microsoft.com/en-us/aspnet/core/publishing/iis У меня была такая же проблема перед установкой этого на мой компьютер разработчика. - Йорген Тведт 28 марта в 6:31

Ответ 3

Это сработало для меня, удалите файл: project.lock.json и запустите dotnet restore, restart visual studio.