Ответ 1
Установите пакет .Net Core 2.2 времени выполнения на хост-компьютере.
Или же
Опубликуйте свой проект как самостоятельный.
Я использовал угловой шаблон.net core 2.2 для создания приложения. В localhost работает нормально. Когда я размещаю IIS, я получаю эту ошибку. Я использую IIS 10 для размещения приложения.
Ошибка,
Ошибка HTTP 500.21 - Внутренний обработчик ошибок сервера "aspNetCore" имеет неверный модуль "AspNetCoreModuleV2" в своем списке модулей
Установите пакет .Net Core 2.2 времени выполнения на хост-компьютере.
Или же
Опубликуйте свой проект как самостоятельный.
Удаление V2 из модулей = "AspNetCoreModuleV2" работал для меня. Обратите внимание, что моя проблема была связана с запуском веб-API ядра .net из Visual Studio. В IE Express произошел сбой с кодом 500, и после изучения журнала ошибок, описывающего "Обработчик" aspNetCore "имеет неисправный модуль…", был устранен путем замены на приведенный ниже.
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
Для хостинга Windows
Установите хостинг-пакет. Обратите внимание, что SDK обычно содержит среду выполнения, однако кажется, что установщик SDK неправильно регистрирует среду выполнения на сервере.
AspNetCoreModuleV2
AspNetCoreModule
(не рекомендуется): Измените AspNetCoreModuleV2
на AspNetCoreModule
в web.config.
Для хостинга Azure
Установите расширение среды выполнения .NET Core 2.2, выбрав "Расширения", а затем установив .NET Core 2.2. Продолжительность.
ОБНОВИТЬ
ОРИГИНАЛ
Я получил это для работы, добавив следующий блок кода в .csproj
для веб-приложения.
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<LangVersion>latest</LangVersion>
<AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>
Очевидно, что вы захотите обновить версию netcoreapp
мере продвижения. Вот как я смог заставить вещи работать. Я не уверен, почему простой установки пакета хостинга для 2.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.
У меня была эта проблема всего секунду назад. Я заменил свою часть кода в web.config этим.
СТАРАЯ ЧАСТЬ:
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2"
resourceType="Unspecified" />
</handlers>
НОВАЯ ЧАСТЬ:
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule"
resourceType="Unspecified" />
</handlers>
Обновите visualstudio, чтобы исправить эту проблему
Вот что сработало для меня:
<add name="AspNetCoreModuleV2" image="%ProgramFiles%\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll" />
У меня возникла такая же проблема, и мне помогло восстановить установку пакета хостинга (Панель управления → Программы и компоненты; щелкните правой кнопкой мыши по установке пакета хостинга и выберите "Удалить", затем выберите "Восстановить" в одном из следующее окно, которое всплывает.
RavinderReddy Seelam (ответ выше) Правильно, как только вы отправите .Net Core 2.2 runtime bundle и измените тип пула приложений на "Нет управляемого кода", это работает.