it-roy-ru.com

IIS Server & ASP.Net Core - доступ к странице невозможен, поскольку соответствующие данные конфигурации для страницы недействительны

При попытке запустить приложение ASP.Net Core с использованием IIS Server v7.5 Server я получаю следующую ошибку ... Я успешно опубликовал веб-сайт (опция «Файловая система» в 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>
23
andre

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

Установите пакет .NET Core Hosting 

Установите .NET Core Hosting Bundle в системе хостинга. В комплекте устанавливаются .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

43
The Red Pea

Единственное решение, которое мне помогло, это установить еще 2 элемента из базовой библиотеки Microsoft dot net:

https://www.Microsoft.com/net/download/thank-you/dotnet-runtime-2.0.6-windows-x64-asp.net-core-runtime-installer

а также 

https://www.Microsoft.com/net/download/thank-you/dotnet-runtime-2.0.6-windows-server-hosting-installer

6
Ehsan Zargar Ershadi

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

4
Dalton

Я смог решить эту проблему при работе в Visual Studio Community 2017 v. 15.7.1.

Пришлось установить последнюю версию dotnet-sdk-2.1.300-rc1-008673-win-x64.

https://www.Microsoft.com/net/download/dotnet-sdk-2.1.300-rc1-windows-x64-installer

0
Leniel Maccaferri