Устранение распространенных неполадок в Службе приложений Azure и службах IIS с помощью ASP.NET Core

Этот раздел описывает наиболее распространенные ошибки при размещении приложений ASP.NET Core в Службе приложений Azure и IIS и включает рекомендации по их устранению.

См. сведения в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS, где описаны распространенные ошибки запуска приложений и приведены инструкции по их диагностике.

Соберите следующие сведения:

Сравните собранные данные с представленной здесь информацией о распространенных ошибках. Если вы найдете соответствие, выполните рекомендации по устранению неполадок.

Приведенный ниже перечень ошибок не является исчерпывающим. Если вы встретите сообщение об ошибке, которое здесь не указано, воспользуйтесь кнопкой Обратная связь в нижней части этой статьи, чтобы создать запрос с подробным описанием, которое поможет воспроизвести эту ошибку.

Важно!

Предварительные версии ASP.NET Core в службе приложений Azure

Предварительные версии ASP.NET Core не развертываются в службе приложений Azure по умолчанию. Чтобы разместить приложение, которое использует предварительную версию ASP.NET Core, см. раздел Развертывание предварительной версии ASP.NET Core в службе приложений Azure.

При обновлении ОС был удален 32-разрядный модуль ASP.NET Core

Журнал приложений: не удалось загрузить модуль DLL C:\WINDOWS\system32\inetsrv\aspnetcore.dll. Ошибочные данные.

Устранение неполадок:

Не относящиеся к ОС файлы в каталоге C:\Windows\SysWOW64\inetsrv не сохраняются при обновлении ОС. Эта ошибка возникает, если модуль ASP.NET Core был установлен до обновления ОС, а после обновления ОС выполняется любой пул приложений в 32-разрядном режиме. После обновления ОС восстановите модуль ASP.NET Core. См. статью Установка пакета размещения .NET Core. Выберите вариант Восстановить при запуске установщика.

Отсутствует расширение сайта, установлены 32-разрядное (x86) и 64-разрядное (x64) расширения сайта или неправильно задана разрядность

Относится к приложениям, размещенным в Службе приложений Azure.

  • Браузер: ошибка HTTP 500.0 — сбой загрузки обработчика обработки ANCM

  • Журнал приложений: вызов hostfxr для поиска обработчика запросов inprocess не удалось найти собственные зависимости. Не удалось найти внутрипроцессный обработчик запросов. Захваченные выходные данные вызова hostfxr: не удалось найти любую совместимую версию платформы. Указанная платформа Microsoft.AspNetCore.App, версия {ВЕРСИЯ}-preview-* не найдена. Не удалось запустить приложение /LM/W3SVC/1416782824/ROOT, код ошибки — 0x8000ffff.

  • ASP.NET журнал stdout модуля Core: не удалось найти совместимую версию платформы. Указанная платформа Microsoft.AspNetCore.App, версия {ВЕРСИЯ}-preview-* не найдена.

  • ASP.NET журнал отладки ядра модуля: вызов hostfxr для поиска обработчика запросов inprocess не удалось найти собственные зависимости. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии Microsoft.NetCore.App и Microsoft.AspNetCore.App, которые являются целевыми для приложения и установлены на компьютере. Не удалось вернуть HRESULT: 0x8000ffff. Не удалось найти внутрипроцессный обработчик запросов. не удалось найти совместимую версию платформы. Указанная платформа Microsoft.AspNetCore.App, версия {ВЕРСИЯ}-preview-* не найдена.

Устранение неполадок:

  • Если приложение запускается в среде выполнения предварительной версии, установите 32-разрядное (x86) или 64-разрядное (x64) расширение сайта в соответствии с разрядностью и версией среды выполнения приложения. Не следует устанавливать оба расширения или несколько версий среды выполнения расширения.

    • Среда выполнения ASP.NET Core {версия среды выполнения} (x86)
    • Среда выполнения ASP.NET Core {версия среды выполнения} (x64)

    Перезапустите приложение. Подождите несколько секунд, пока приложение перезагрузится.

  • Если приложение запускается в среде выполнения предварительной версии и установлены оба расширения сайта — 32-разрядное (x86) и 64-разрядное (x64), удалите расширение сайта, не соответствующее разрядности приложения. После удаления расширения сайта перезапустите приложение. Подождите несколько секунд, пока приложение перезагрузится.

  • Если приложение запускается в среде выполнения предварительной версии, и разрядность расширения сайта соответствует разрядности приложения, убедитесь, что предварительная версия среды выполнения для расширения сайта соответствует версии среды выполнения приложения.

  • Убедитесь, что заданная для приложения платформа в разделе Параметры приложения соответствует разрядности приложения.

Дополнительные сведения см. в статье Развертывание приложений ASP.NET Core в Службе приложений Azure.

Приложение x86 развернуто, но для 32-разрядных приложений не включен пул приложений

  • Браузер: ошибка HTTP 500.30 — сбой запуска в процессе ANCM

  • Журнал приложений: приложение "/LM/W3SVC/5/ROOT" с физическим корнем "{PATH}" с непредвиденным управляемым исключением, кодом исключения = "0xe0434352". Дополнительные сведения см. в журналах sderr. Приложению /LM/W3SVC/5/ROOTс физическим корневым каталогом {ПУТЬ} не удалось загрузить clr и управляемое приложение. Преждевременная остановка рабочего потока среды CLR

  • ASP.NET журнал stdout модуля core: файл журнала создается, но пуст.

  • ASP.NET журнал отладки основного модуля: возвращен не удалось HRESULT: 0x8007023e

Пакет SDK перехватывает этот сценарий при публикации автономного приложения. Пакет SDK выводит сообщение об ошибке, если идентификатор RID не соответствует целевой платформе (например, RID win10-x64 с <PlatformTarget>x86</PlatformTarget> в файле проекта).

Устранение неполадок:

Если используется зависимое от платформы (x86) развертывание (<PlatformTarget>x86</PlatformTarget>), включите пул приложений IIS для 32-разрядных приложений. В диспетчере IIS откройте раздел Дополнительные параметры пула приложений и задайте параметру Разрешены 32-разрядные приложения значение True.

Конфликты платформы с относительным идентификатором

  • Браузер: ошибка HTTP 502.5 — сбой процесса

  • Журнал приложений. Приложению MACHINE/WEBROOT/APPHOST/{СБОРКА} с физическим корневым каталогом C:{ПУТЬ} не удалось запустить процесс с помощью команды C:{ПУТЬ}{СБОРКА}.{exe|dll}, код ошибки: 0x80004005:ff.

  • ASP.NET журнал stdout модуля: необработанное исключение: System.BadImageFormatException: не удалось загрузить файл или сборку "{ASSE МБ LY}.dll". Была сделана попытка загрузить программу, имеющую неверный формат.

Устранение неполадок:

  • Убедитесь, что приложение выполняется локально в Kestrel. Сбой процесса может быть результатом проблемы в приложении. Дополнительные сведения см. в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.

  • Если это исключение возникает для развертывания приложений Azure при обновлении приложения и развертывании более новых сборок, вручную удалите все файлы предыдущего развертывания. Если останутся несовместимые сборки, то при развертывании обновленного приложения это может привести к исключению System.BadImageFormatException.

Неправильная конечная точка URI, либо веб-сайт остановлен

  • Браузер: ERR_CONNECTION_REFUSED --OR- Не удается подключиться

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

  • ASP.NET журнал отладки ядра модуля: файл журнала не создается.

Устранение неполадок:

  • Убедитесь, что используется правильный URI конечной точки для приложения. Проверьте все привязки.

  • Убедитесь, что веб-сайт IIS не находится в состоянии Остановлен.

Компонент сервера CoreWebEngine или W3SVC отключен

Исключение ОС: для использования модуля ASP.NET Core должны быть установлены компоненты IIS 7.0 CoreWebEngine и W3SVC.

Устранение неполадок:

Убедитесь, что включены правильная роль и необходимые компоненты. См. раздел Конфигурация IIS.

Неправильный физический путь к веб-сайту, либо отсутствует приложение

  • Браузер: 403 — запрещено. В доступе отказано --ИЛИ-- 403.14 — запрещено. Веб-сервер настроен таким образом, чтобы не формировать список содержимого каталога.

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

  • ASP.NET журнал отладки ядра модуля: файл журнала не создается.

Устранение неполадок:

Проверьте основные настройки веб-сайта IIS и физическую папку приложения. Убедитесь в том, что приложение находится в папке по физическому пути, указанному для веб-сайта IIS.

Неправильная роль, модуль ASP.NET Core не установлен либо неверные разрешения

  • Браузер: 500.19 — внутренняя ошибка сервера. Запрашиваемая страница недоступна из-за неверной конфигурации данных для этой страницы. или не удается отобразить эту страницу

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

  • ASP.NET журнал отладки ядра модуля: файл журнала не создается.

Устранение неполадок:

  • Убедитесь, что включена соответствующая роль. См. раздел Конфигурация IIS.

  • Откройте окно Программы и компоненты или Приложения и возможности и убедитесь, что установлено ПО Windows Server Hosting. Если Windows Server Hosting отсутствует в списке установленных программ, скачайте и установите пакет размещения .NET Core.

    Текущий установщик пакета размещения .NET Core (прямая загрузка)

    См. дополнительные сведения об установке пакета размещения .NET Core.

  • Убедитесь, что для параметра Пул приложений>Модель процесса>Identity задано значение ApplicationPoolIdentity или что у пользовательского удостоверения есть нужные разрешения на доступ к папке развертывания приложения.

  • Если вы удалили пакет размещения ASP.NET Core и установили его более раннюю версию, файл applicationHost.config не будет включать раздел модуля ASP.NET Core. Откройте файл applicationHost.config в папке %windir%/System32/inetsrv/config и найдите группу раздела <configuration><configSections><sectionGroup name="system.webServer">. Если раздел модуля ASP.NET Core отсутствует в группе раздела, добавьте его:

    <section name="aspNetCore" overrideModeDefault="Allow" />
    

    Кроме того, вы можете установить последнюю версию пакета размещения ASP.NET Core. Последняя версия имеет обратную совместимость с поддерживаемыми приложениями ASP.NET Core.

Неправильное значение processPath, отсутствует переменная PATH, пакет размещения не установлен, система или службы IIS не перезапущены, не установлен распространяемый компонент VC++ либо нарушены права доступа к dotnet.exe

  • Браузер: ошибка HTTP 500.0 — сбой загрузки обработчика обработки ANCM

  • Журнал приложений. Приложению MACHINE/WEBROOT/APPHOST/{СБОРКА} с физическим корневым каталогом C:{ПУТЬ} не удалось запустить процесс с помощью команды {...}, код ошибки: 0x80070002:0. не удалось запустить приложение на пути {ПУТЬ}. Исполняемый файл не найден на пути {ПУТЬ}. Не удалось запустить приложение /LM/W3SVC/2/ROOT, код ошибки — 0x8007023e.

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

  • ASP.NET журнал отладки ядра модуля: журнал событий: "Приложение "{PATH}" не удалось запустить. Исполняемый файл не найден на пути {ПУТЬ}. Не удалось вернуть HRESULT: 0x8007023e

Устранение неполадок:

  • Убедитесь, что приложение выполняется локально в Kestrel. Сбой процесса может быть результатом проблемы в приложении. Дополнительные сведения см. в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.

  • Проверьте атрибут processPath для элемента <aspNetCore> в файле web.config. Он должен иметь значение dotnet для зависимого от платформы развертывания (FDD) или .\{ASSEMBLY}.exe для автономного развертывания (SCD).

  • Для зависимого от платформы развертывания файл dotnet.exe может быть недоступен по пути, указанному в переменной PATH. Убедитесь в том, что папка C:\Program Files\dotnet существует в системных параметрах PATH.

  • В случае с зависимым от платформы развертыванием файл dotnet.exe может быть недоступен для удостоверения пользователя пула приложений. Убедитесь в том, что удостоверение пользователя пула приложений имеет доступ к каталогу C:\Program Files\dotnet. Убедитесь в отсутствии запрещающих правил для удостоверения пользователя пула приложений в каталоге C:\Program Files\dotnet и каталоге приложения.

  • Возможно, зависимое от платформы развертывание и .NET Core были установлены без перезапуска служб IIS. Перезагрузите сервер или перезапустите службы IIS, выполнив в командной строке команду net stop was /y, а затем — команду net start w3svc.

  • Возможно, зависимое от платформы развертывание было развернуто без установки среды выполнения .NET Core в размещающей системе. Если среда выполнения .NET Core не была установлена, запустите в целевой системе установщик пакета размещения .NET Core.

    Текущий установщик пакета размещения .NET Core (прямая загрузка)

    См. дополнительные сведения об установке пакета размещения .NET Core.

    Если требуется конкретная среда выполнения, скачайте ее на странице загрузок .NET и установите в системе. Завершите установку, перезагрузив систему или перезапустив службы IIS. Для этого выполните в командной строке команду net stop was /y, а затем — команду net start w3svc.

Неверные аргументы элемента <aspNetCore>

  • Браузер: ошибка HTTP 500.0 — сбой загрузки обработчика обработки ANCM

  • Журнал приложений: вызов hostfxr для поиска обработчика запросов inprocess не удалось найти собственные зависимости. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии Microsoft.NetCore.App и Microsoft.AspNetCore.App, которые являются целевыми для приложения и установлены на компьютере. Не удалось найти внутрипроцессный обработчик запросов. Захваченные выходные данные вызова hostfxr: означает ли выполнение команд dotnet SDK? Установите пакет SDK dotnet из: https://go.microsoft.com/fwlink/?LinkID=798306& clcid=0x409 Не удалось запустить приложение "/LM/W3SVC/3/ROOT", ErrorCode "0x8000ffff".

  • ASP.NET журнал stdout модуля core: вы означало запускать команды dotnet SDK? Установите пакет SDK dotnet из: https://go.microsoft.com/fwlink/?LinkID=798306& clcid=0x409

  • ASP.NET журнал отладки ядра модуля: вызов hostfxr для поиска обработчика запросов inprocess не удалось найти собственные зависимости. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии Microsoft.NetCore.App и Microsoft.AspNetCore.App, которые являются целевыми для приложения и установлены на компьютере. Не удалось вернуть HRESULT: 0x8000ffff не удалось найти обработчик запросов inprocess. Захваченные выходные данные вызова hostfxr: означает ли выполнение команд dotnet SDK? Установите пакет SDK dotnet из: https://go.microsoft.com/fwlink/?LinkID=798306& clcid=0x409 Не удалось вернуть HRESULT: 0x8000ffff

Устранение неполадок:

  • Убедитесь, что приложение выполняется локально в Kestrel. Сбой процесса может быть результатом проблемы в приложении. Дополнительные сведения см. в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.

  • Проверьте атрибут arguments для элемента <aspNetCore> в файле web.config и удостоверьтесь, что он имеет значение: а) .\{ASSEMBLY}.dllдля развертывания, зависящего от платформы (FDD); б) отсутствует, содержит пустую строку (arguments="") или список аргументов вашего приложения (arguments="{ARGUMENT_1}, {ARGUMENT_2}, ... {ARGUMENT_X}") для автономного развертывания (SCD).

Отсутствует общая платформа .NET Core

  • Браузер: ошибка HTTP 500.0 — сбой загрузки обработчика обработки ANCM

  • Журнал приложений: вызов hostfxr для поиска обработчика запросов inprocess не удалось найти собственные зависимости. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии Microsoft.NetCore.App и Microsoft.AspNetCore.App, которые являются целевыми для приложения и установлены на компьютере. Не удалось найти внутрипроцессный обработчик запросов. Захваченные выходные данные вызова hostfxr: не удалось найти любую совместимую версию платформы. Указанная версия {ВЕРСИЯ} платформы Microsoft.AspNetCore.App не найдена.

Не удалось запустить приложение /LM/W3SVC/5/ROOT, код ошибки — 0x8000ffff.

  • ASP.NET журнал stdout модуля Core: не удалось найти совместимую версию платформы. Указанная версия {ВЕРСИЯ} платформы Microsoft.AspNetCore.App не найдена.

  • ASP.NET журнал отладки основного модуля: возвращен не удалось HRESULT: 0x8000ffff

Устранение неполадок:

Если используется зависимое от платформы развертывание (FDD), убедитесь в том, что в системе установлена нужная среда выполнения.

Пул приложений остановлен

  • Браузер: 503 — служба недоступна

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

  • ASP.NET журнал отладки ядра модуля: файл журнала не создается.

Устранение неполадок:

Убедитесь, что пул приложений не находится в состоянии Остановлен.

Дочернее приложение имеет раздел <handlers>

  • Браузер: ошибка HTTP 500.19 — внутренняя ошибка сервера

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля: создается файл журнала корневого приложения и отображается обычная операция. Файл журнала дочернего приложения не создан.

  • ASP.NET журнал отладки ядра модуля: создается файл журнала корневого приложения и отображается обычная операция. Файл журнала дочернего приложения не создан.

Устранение неполадок:

Убедитесь, что файл web.config дочернего приложения не содержит раздел <handlers> или что дочернее приложение не наследует обработчики родительского приложения.

Раздел <system.webServer> файла web.config находится внутри элемента <location>. Значение false свойства InheritInChildApplications указывает, что параметры, заданные в элементе <расположение>, не наследуются приложениями, которые находятся во вложенном каталоге родительского приложения. Дополнительные сведения см. в разделе Модуль ASP.NET Core для IIS.

Неверный путь к журналу stdout

  • Браузер. Приложение работает правильно.

  • Журнал приложений: не удалось запустить перенаправление stdout в C:\Program Files\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll. Сообщение об исключении: HRESULT 0x80070005 возвращено по адресу {PATH}\aspnetcoremodulev2\commonlib\fileoutputmanager.cpp:84. Не удалось остановить перенаправление stdout в C:\Program Files\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll. Сообщение об исключении: HRESULT 0x80070002 возвращено по адресу {PATH}. Не удалось запустить перенаправление stdout по пути {ПУТЬ}\aspnetcorev2_inprocess.dll.

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

  • ASP.NET журнал отладки ядра модуля. Не удалось запустить перенаправление stdout в C:\Program Files\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll. Сообщение об исключении: HRESULT 0x80070005 возвращено по адресу {PATH}\aspnetcoremodulev2\commonlib\fileoutputmanager.cpp:84. Не удалось остановить перенаправление stdout в C:\Program Files\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll. Сообщение об исключении: HRESULT 0x80070002 возвращено по адресу {PATH}. Не удалось запустить перенаправление stdout по пути {ПУТЬ}\aspnetcorev2_inprocess.dll.

Устранение неполадок:

  • Не существует путь stdoutLogFile, указанный в элементе <aspNetCore> в файле web.config. Дополнительные сведения см. в разделе ASP.NET Core Module: создание журнала и перенаправление.

  • Пользователь пула приложения не имеет прав на запись в путь к папке журнала stdout.

Общая проблема с конфигурацией приложения

  • Браузер: ошибка HTTP 500.0 — сбой загрузки обработчика процесса ANCM --OR-- HTTP Error 500.30 — сбой запуска в процессе ANCM

  • Журнал приложений: переменная

  • ASP.NET журнал stdout модуля core: файл журнала создается, но пуст или создается с обычными записями до тех пор, пока не завершится сбой приложения.

  • журнал отладки ядра модуля ASP.NET: переменная

Устранение неполадок:

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

Дополнительные сведения см. в следующих разделах:

Этот раздел описывает распространенные ошибки при размещении приложений ASP.NET Core в службе приложений Azure и службах IIS и дает рекомендации по их устранению.

Дополнительные сведения см. в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.

Соберите следующие сведения:

Сравните собранные данные с представленной здесь информацией о распространенных ошибках. Если вы найдете соответствие, выполните рекомендации по устранению неполадок.

Приведенный ниже перечень ошибок не является исчерпывающим. Если вы встретите сообщение об ошибке, которое здесь не указано, воспользуйтесь кнопкой Обратная связь в нижней части этой статьи, чтобы создать запрос с подробным описанием, которое поможет воспроизвести эту ошибку.

Важно!

Предварительные версии ASP.NET Core в службе приложений Azure

Предварительные версии ASP.NET Core не развертываются в службе приложений Azure по умолчанию. Чтобы разместить приложение, которое использует предварительную версию ASP.NET Core, см. раздел Развертывание предварительной версии ASP.NET Core в службе приложений Azure.

При обновлении ОС был удален 32-разрядный модуль ASP.NET Core

Журнал приложений: не удалось загрузить модуль DLL C:\WINDOWS\system32\inetsrv\aspnetcore.dll. Ошибочные данные.

Устранение неполадок:

Не относящиеся к ОС файлы в каталоге C:\Windows\SysWOW64\inetsrv не сохраняются при обновлении ОС. Эта ошибка возникает, если модуль ASP.NET Core был установлен до обновления ОС, а после обновления ОС выполняется любой пул приложений в 32-разрядном режиме. После обновления ОС восстановите модуль ASP.NET Core. См. статью Установка пакета размещения .NET Core. Выберите вариант Восстановить при запуске установщика.

Отсутствует расширение сайта, установлены 32-разрядное (x86) и 64-разрядное (x64) расширения сайта или неправильно задана разрядность

Относится к приложениям, размещенным в Службе приложений Azure.

  • Браузер: ошибка HTTP 500.0 — сбой загрузки обработчика обработки ANCM

  • Журнал приложений: вызов hostfxr для поиска обработчика запросов inprocess не удалось найти собственные зависимости. Не удалось найти внутрипроцессный обработчик запросов. Захваченные выходные данные вызова hostfxr: не удалось найти любую совместимую версию платформы. Указанная платформа Microsoft.AspNetCore.App, версия {ВЕРСИЯ}-preview-* не найдена. Не удалось запустить приложение /LM/W3SVC/1416782824/ROOT, код ошибки — 0x8000ffff.

  • ASP.NET журнал stdout модуля Core: не удалось найти совместимую версию платформы. Указанная платформа Microsoft.AspNetCore.App, версия {ВЕРСИЯ}-preview-* не найдена.

Устранение неполадок:

  • Если приложение запускается в среде выполнения предварительной версии, установите 32-разрядное (x86) или 64-разрядное (x64) расширение сайта в соответствии с разрядностью и версией среды выполнения приложения. Не следует устанавливать оба расширения или несколько версий среды выполнения расширения.

    • Среда выполнения ASP.NET Core {версия среды выполнения} (x86)
    • Среда выполнения ASP.NET Core {версия среды выполнения} (x64)

    Перезапустите приложение. Подождите несколько секунд, пока приложение перезагрузится.

  • Если приложение запускается в среде выполнения предварительной версии и установлены оба расширения сайта — 32-разрядное (x86) и 64-разрядное (x64), удалите расширение сайта, не соответствующее разрядности приложения. После удаления расширения сайта перезапустите приложение. Подождите несколько секунд, пока приложение перезагрузится.

  • Если приложение запускается в среде выполнения предварительной версии, и разрядность расширения сайта соответствует разрядности приложения, убедитесь, что предварительная версия среды выполнения для расширения сайта соответствует версии среды выполнения приложения.

  • Убедитесь, что заданная для приложения платформа в разделе Параметры приложения соответствует разрядности приложения.

Дополнительные сведения см. в статье Развертывание приложений ASP.NET Core в Службе приложений Azure.

Приложение x86 развернуто, но для 32-разрядных приложений не включен пул приложений

  • Браузер: ошибка HTTP 500.30 — сбой запуска в процессе ANCM

  • Журнал приложений: приложение "/LM/W3SVC/5/ROOT" с физическим корнем "{PATH}" с непредвиденным управляемым исключением, кодом исключения = "0xe0434352". Дополнительные сведения см. в журналах sderr. Приложению /LM/W3SVC/5/ROOTс физическим корневым каталогом {ПУТЬ} не удалось загрузить clr и управляемое приложение. Преждевременная остановка рабочего потока среды CLR

  • ASP.NET журнал stdout модуля core: файл журнала создается, но пуст.

Пакет SDK перехватывает этот сценарий при публикации автономного приложения. Пакет SDK выводит сообщение об ошибке, если идентификатор RID не соответствует целевой платформе (например, RID win10-x64 с <PlatformTarget>x86</PlatformTarget> в файле проекта).

Устранение неполадок:

Если используется зависимое от платформы (x86) развертывание (<PlatformTarget>x86</PlatformTarget>), включите пул приложений IIS для 32-разрядных приложений. В диспетчере IIS откройте раздел Дополнительные параметры пула приложений и задайте параметру Разрешены 32-разрядные приложения значение True.

Конфликты платформы с относительным идентификатором

  • Браузер: ошибка HTTP 502.5 — сбой процесса

  • Журнал приложений. Приложению MACHINE/WEBROOT/APPHOST/{СБОРКА} с физическим корневым каталогом C:{ПУТЬ} не удалось запустить процесс с помощью команды C:{ПУТЬ}{СБОРКА}.{exe|dll}, код ошибки: 0x80004005:ff.

  • ASP.NET журнал stdout модуля: необработанное исключение: System.BadImageFormatException: не удалось загрузить файл или сборку "{ASSE МБ LY}.dll". Была сделана попытка загрузить программу, имеющую неверный формат.

Устранение неполадок:

  • Убедитесь, что приложение выполняется локально в Kestrel. Сбой процесса может быть результатом проблемы в приложении. Дополнительные сведения см. в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.

  • Если это исключение возникает для развертывания приложений Azure при обновлении приложения и развертывании более новых сборок, вручную удалите все файлы предыдущего развертывания. Если останутся несовместимые сборки, то при развертывании обновленного приложения это может привести к исключению System.BadImageFormatException.

Неправильная конечная точка URI, либо веб-сайт остановлен

  • Браузер: ERR_CONNECTION_REFUSED --OR- Не удается подключиться

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

Устранение неполадок:

  • Убедитесь, что используется правильный URI конечной точки для приложения. Проверьте все привязки.

  • Убедитесь, что веб-сайт IIS не находится в состоянии Остановлен.

Компонент сервера CoreWebEngine или W3SVC отключен

Исключение ОС: для использования модуля ASP.NET Core должны быть установлены компоненты IIS 7.0 CoreWebEngine и W3SVC.

Устранение неполадок:

Убедитесь, что включены правильная роль и необходимые компоненты. См. раздел Конфигурация IIS.

Неправильный физический путь к веб-сайту, либо отсутствует приложение

  • Браузер: 403 — запрещено. В доступе отказано --ИЛИ-- 403.14 — запрещено. Веб-сервер настроен таким образом, чтобы не формировать список содержимого каталога.

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

Устранение неполадок:

Проверьте основные настройки веб-сайта IIS и физическую папку приложения. Убедитесь в том, что приложение находится в папке по физическому пути, указанному для веб-сайта IIS.

Неправильная роль, модуль ASP.NET Core не установлен либо неверные разрешения

  • Браузер: 500.19 — внутренняя ошибка сервера. Запрашиваемая страница недоступна из-за неверной конфигурации данных для этой страницы. или не удается отобразить эту страницу

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

Устранение неполадок:

  • Убедитесь, что включена соответствующая роль. См. раздел Конфигурация IIS.

  • Откройте окно Программы и компоненты или Приложения и возможности и убедитесь, что установлено ПО Windows Server Hosting. Если Windows Server Hosting отсутствует в списке установленных программ, скачайте и установите пакет размещения .NET Core.

    Текущий установщик пакета размещения .NET Core (прямая загрузка)

    См. дополнительные сведения об установке пакета размещения .NET Core.

  • Убедитесь, что для параметра Пул приложений>Модель процесса>Identity задано значение ApplicationPoolIdentity или что у пользовательского удостоверения есть нужные разрешения на доступ к папке развертывания приложения.

  • Если вы удалили пакет размещения ASP.NET Core и установили его более раннюю версию, файл applicationHost.config не будет включать раздел модуля ASP.NET Core. Откройте файл applicationHost.config в папке %windir%/System32/inetsrv/config и найдите группу раздела <configuration><configSections><sectionGroup name="system.webServer">. Если раздел модуля ASP.NET Core отсутствует в группе раздела, добавьте его:

    <section name="aspNetCore" overrideModeDefault="Allow" />
    

    Кроме того, вы можете установить последнюю версию пакета размещения ASP.NET Core. Последняя версия имеет обратную совместимость с поддерживаемыми приложениями ASP.NET Core.

Неправильное значение processPath, отсутствует переменная PATH, пакет размещения не установлен, система или службы IIS не перезапущены, не установлен распространяемый компонент VC++ либо нарушены права доступа к dotnet.exe

  • Браузер: ошибка HTTP 502.5 — сбой процесса

  • Журнал приложений. Приложению MACHINE/WEBROOT/APPHOST/{СБОРКА} с физическим корневым каталогом C:{ПУТЬ} не удалось запустить процесс с помощью команды {...}, код ошибки: 0x80070002:0.

  • ASP.NET журнал stdout модуля core: файл журнала создается, но пуст.

Устранение неполадок:

  • Убедитесь, что приложение выполняется локально в Kestrel. Сбой процесса может быть результатом проблемы в приложении. Дополнительные сведения см. в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.

  • Проверьте атрибут processPath для элемента <aspNetCore> в файле web.config. Он должен иметь значение dotnet для зависимого от платформы развертывания (FDD) или .\{ASSEMBLY}.exe для автономного развертывания (SCD).

  • Для зависимого от платформы развертывания файл dotnet.exe может быть недоступен по пути, указанному в переменной PATH. Убедитесь в том, что папка C:\Program Files\dotnet существует в системных параметрах PATH.

  • В случае с зависимым от платформы развертыванием файл dotnet.exe может быть недоступен для удостоверения пользователя пула приложений. Убедитесь в том, что удостоверение пользователя пула приложений имеет доступ к каталогу C:\Program Files\dotnet. Убедитесь в отсутствии запрещающих правил для удостоверения пользователя пула приложений в каталоге C:\Program Files\dotnet и каталоге приложения.

  • Возможно, зависимое от платформы развертывание и .NET Core были установлены без перезапуска служб IIS. Перезагрузите сервер или перезапустите службы IIS, выполнив в командной строке команду net stop was /y, а затем — команду net start w3svc.

  • Возможно, зависимое от платформы развертывание было развернуто без установки среды выполнения .NET Core в размещающей системе. Если среда выполнения .NET Core не была установлена, запустите в целевой системе установщик пакета размещения .NET Core.

    Текущий установщик пакета размещения .NET Core (прямая загрузка)

    См. дополнительные сведения об установке пакета размещения .NET Core.

    Если требуется конкретная среда выполнения, скачайте ее на странице загрузок .NET и установите в системе. Завершите установку, перезагрузив систему или перезапустив службы IIS. Для этого выполните в командной строке команду net stop was /y, а затем — команду net start w3svc.

Неверные аргументы элемента <aspNetCore>

  • Браузер: ошибка HTTP 502.5 — сбой процесса

  • Журнал приложений: приложению MACHINE/WEBROOT/APPHOST/{СБОРКА} с физическим корневым каталогом C:{ПУТЬ} не удалось запустить процесс с помощью команды dotnet .{СБОРКА}.dll,код ошибки = 0x80004005 : 80008081.

  • Журнал stdout модуля ASP.NET Core: Выполняемое приложение не существует: PATH{СБОРКА}.dll.

Устранение неполадок:

  • Убедитесь, что приложение выполняется локально в Kestrel. Сбой процесса может быть результатом проблемы в приложении. Дополнительные сведения см. в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.

  • Проверьте атрибут arguments для элемента <aspNetCore> в файле web.config и удостоверьтесь, что он имеет значение: а) .\{ASSEMBLY}.dllдля развертывания, зависящего от платформы (FDD); б) отсутствует, содержит пустую строку (arguments="") или список аргументов вашего приложения (arguments="{ARGUMENT_1}, {ARGUMENT_2}, ... {ARGUMENT_X}") для автономного развертывания (SCD).

Устранение неполадок:

Если используется зависимое от платформы развертывание (FDD), убедитесь в том, что в системе установлена нужная среда выполнения.

Пул приложений остановлен

  • Браузер: 503 — служба недоступна

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

Устранение неполадок:

Убедитесь, что пул приложений не находится в состоянии Остановлен.

Дочернее приложение имеет раздел <handlers>

  • Браузер: ошибка HTTP 500.19 — внутренняя ошибка сервера

  • Журнал приложений: нет записи

  • ASP.NET журнал stdout модуля: создается файл журнала корневого приложения и отображается обычная операция. Файл журнала дочернего приложения не создан.

Устранение неполадок:

В файле web.config дочернего приложения не должно быть раздела <handlers>.

Неверный путь к журналу stdout

  • Браузер. Приложение работает правильно.

  • Журнал приложений. Предупреждение: не удалось создать stdoutLogFile \?{PATH}\path_doesnt_exist\stdout_{ИДЕНТИФИКАТОР_ПРОЦЕССА}_{МЕТКА ВРЕМЕНИ}.log, код ошибки = -2147024893.

  • ASP.NET журнал stdout модуля core: файл журнала не создается.

Устранение неполадок:

  • Не существует путь stdoutLogFile, указанный в элементе <aspNetCore> в файле web.config. Дополнительные сведения см. в разделе ASP.NET Core Module: создание журнала и перенаправление.

  • Пользователь пула приложения не имеет прав на запись в путь к папке журнала stdout.

Общая проблема с конфигурацией приложения

  • Браузер: ошибка HTTP 502.5 — сбой процесса

  • Журнал приложений. Приложение MACHINE/WEBROOT/APPHOST/{СБОРКА} с физическим корневым каталогом C:{ПУТЬ} создало процесс с помощью команды C:{ПУТЬ}СБОРКА}.{exe|dll}, но при этом произошел сбой, не был получен ответ или не прослушивался указанный порт {ПОРТ}; код ошибки — {КОД_ОШИБКИ}.

  • ASP.NET журнал stdout модуля core: файл журнала создается, но пуст.

Устранение неполадок:

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

Дополнительные сведения см. в следующих разделах: