Обработчик "aspNetCore" имеет плохой модуль "AspNetCoreModuleV2" в своем списке модулей

Я использовал угловой шаблон.net core 2.2 для создания приложения. В localhost работает нормально. Когда я размещаю IIS, я получаю эту ошибку. Я использую IIS 10 для размещения приложения.

Ошибка,

Ошибка HTTP 500.21 - Внутренний обработчик ошибок сервера "aspNetCore" имеет неверный модуль "AspNetCoreModuleV2" в своем списке модулей

Ответ 1

Установите пакет .Net Core 2.2 времени выполнения на хост-компьютере.

Или же

Опубликуйте свой проект как самостоятельный.

Ответ 2

Удаление V2 из модулей = "AspNetCoreModuleV2" работал для меня. Обратите внимание, что моя проблема была связана с запуском веб-API ядра .net из Visual Studio. В IE Express произошел сбой с кодом 500, и после изучения журнала ошибок, описывающего "Обработчик" aspNetCore "имеет неисправный модуль…", был устранен путем замены на приведенный ниже.

<handlers>
  <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>

Ответ 3

Для хостинга Windows

Установите хостинг-пакет. Обратите внимание, что SDK обычно содержит среду выполнения, однако кажется, что установщик SDK неправильно регистрирует среду выполнения на сервере.

AspNetCoreModuleV2 AspNetCoreModule (не рекомендуется): Измените AspNetCoreModuleV2 на AspNetCoreModule в web.config.

Для хостинга Azure

Установите расширение среды выполнения .NET Core 2.2, выбрав "Расширения", а затем установив .NET Core 2.2. Продолжительность.

Ответ 4

ОБНОВИТЬ

Это обходной путь, который держит ваше приложение на хостинге до v2. Пожалуйста, смотрите ответ Аланса и мой комментарий для более полного решения

ОРИГИНАЛ

Я получил это для работы, добавив следующий блок кода в .csproj для веб-приложения.

<PropertyGroup>
  <TargetFramework>netcoreapp2.2</TargetFramework>
  <LangVersion>latest</LangVersion>
  <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
  <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>

Очевидно, что вы захотите обновить версию netcoreapp мере продвижения. Вот как я смог заставить вещи работать. Я не уверен, почему простой установки пакета хостинга для 2.2 было недостаточно.

Ответ 5

Есть несколько способов исправить это:

  1. Установите последнюю версию .NET Core Runtime
  2. Проверьте файл applicationhost.config используемый вашим IIS. У вас должна быть следующая запись в соответствующих местах:
<configuration>
    <system.webServer>
        ...
        <globalModules>
            ...
            <add name="AspNetCoreModuleV2" image="%IIS_BIN%\Asp.Net Core Module\V2\aspnetcorev2.dll" />
        </globalModules>
    </system.webServer>
    ...
    <location path="" overrideMode="Allow">
        <system.webServer>
            <modules>
                ...
                <add name="AspNetCoreModuleV2" lockItem="true" />
            </modules>
        </system.webServer>
    </location>
</configuration>

Просто убедитесь, что у вас есть файл для aspnetcorev2.dll в вашем каталоге IIS bin.

Ответ 6

У меня была эта проблема всего секунду назад. Я заменил свою часть кода в web.config этим.

СТАРАЯ ЧАСТЬ:

<handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" 
        resourceType="Unspecified" />
</handlers>

НОВАЯ ЧАСТЬ:

<handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" 
        resourceType="Unspecified" />
</handlers>

Ответ 7

Обновите visualstudio, чтобы исправить эту проблему

Ответ 8

Вот что сработало для меня:

  1. Проверьте файл applicationhost.config и убедитесь, что в разделе globalModules есть следующая запись.

<add name="AspNetCoreModuleV2" image="%ProgramFiles%\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll" />

Ответ 9

У меня возникла такая же проблема, и мне помогло восстановить установку пакета хостинга (Панель управления → Программы и компоненты; щелкните правой кнопкой мыши по установке пакета хостинга и выберите "Удалить", затем выберите "Восстановить" в одном из следующее окно, которое всплывает.

Ответ 10

RavinderReddy Seelam (ответ выше) Правильно, как только вы отправите .Net Core 2.2 runtime bundle и измените тип пула приложений на "Нет управляемого кода", это работает.