Справочник по общим ошибкам в Службе приложений 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 для поиска внутрипроцессного обработчика запросов завершился ошибкой без обнаружения каких-либо собственных зависимостей. Не удалось найти внутрипроцессный обработчик запросов. Выходные данные, записанные в результате вызова hostfxr: не удалось найти совместимую версию платформы. Указанная версия {версия} — предварительная версия — * платформы Microsoft.AspNetCore.App не найдена. Не удалось запустить приложение /LM/W3SVC/1416782824/ROOT, код ошибки — 0x8000ffff.

  • Журнал stdout модуля ASP.NET Core: не удалось найти совместимую версию платформы. Указанная версия {версия} — предварительная версия — * платформы Microsoft.AspNetCore.App не найдена.

  • Журнал отладки модуля ASP.NET Core: вызов hostfxr для поиска внутрипроцессного обработчика запросов завершился ошибкой без обнаружения каких-либо собственных зависимостей. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии Microsoft.NetCore.App и Microsoft.AspNetCore.App, которые являются целевыми для приложения и установлены на компьютере. возвращена ошибка HRESULT: 0x8000ffff. Не удалось найти внутрипроцессный обработчик запросов. не удалось найти совместимую версию платформы. Указанная версия {версия} — предварительная версия — * платформы Microsoft.AspNetCore.App не найдена.

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

  • Если приложение запускается в среде выполнения предварительной версии, установите 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" с физическим корневым каталогом "{ПУТЬ}" возникло непредвиденное управляемое исключение, код исключения — 0xe0434352. Дополнительные сведения см. в журналах sderr. Приложению /LM/W3SVC/5/ROOTс физическим корневым каталогом {ПУТЬ} не удалось загрузить clr и управляемое приложение. Рабочий поток CLR преждевременно завершил работу.

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

  • Журнал отладки модуля ASP.NET Core: возвращена ошибка 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.

  • Журнал stdout модуля ASP.NET Core: необработанное исключение: System.BadImageFormatException: не удалось загрузить файл или сборку {СБОРКА}.dll. Была сделана попытка загрузить программу, имеющую неверный формат.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Журнал отладки модуля ASP.NET 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 500.0 — ошибка загрузки внутрипроцессного обработчика ANCM

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

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

  • Журнал отладки модуля ASP.NET Core: Журнал событий: не удалось запустить приложение на пути {ПУТЬ}. Исполняемый файл не найден на пути {ПУТЬ}. возвращена ошибка 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 для поиска внутрипроцессного обработчика запросов завершился ошибкой без обнаружения каких-либо собственных зависимостей. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии Microsoft.NetCore.App и Microsoft.AspNetCore.App, которые являются целевыми для приложения и установлены на компьютере. Не удалось найти внутрипроцессный обработчик запросов. Выходные данные, записанные в результате вызова hostfxr: вы хотели запустить команды пакета SDK для .NET? Установите пакет SDK для .NET со страницы по адресу: https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 Не удалось запустить приложение /LM/W3SVC/3/ROOT, код ошибки — 0x8000ffff.

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

  • Журнал отладки модуля ASP.NET Core: вызов hostfxr для поиска внутрипроцессного обработчика запросов завершился ошибкой без обнаружения каких-либо собственных зависимостей. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии Microsoft.NetCore.App и Microsoft.AspNetCore.App, которые являются целевыми для приложения и установлены на компьютере. возвращена ошибка HRESULT: 0x8000ffff Не удалось найти внутрипроцессный обработчик запросов. Выходные данные, записанные в результате вызова hostfxr: вы хотели запустить команды пакета SDK для .NET? Установите пакет SDK для .NET со страницы по адресу: 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 для поиска внутрипроцессного обработчика запросов завершился ошибкой без обнаружения каких-либо собственных зависимостей. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии Microsoft.NetCore.App и Microsoft.AspNetCore.App, которые являются целевыми для приложения и установлены на компьютере. Не удалось найти внутрипроцессный обработчик запросов. Выходные данные, записанные в результате вызова hostfxr: не удалось найти совместимую версию платформы. Указанная версия {ВЕРСИЯ} платформы Microsoft.AspNetCore.App не найдена.

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

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

  • Журнал отладки модуля ASP.NET Core: возвращена ошибка HRESULT: 0x8000ffff

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Журнал отладки модуля 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 для поиска внутрипроцессного обработчика запросов завершился ошибкой без обнаружения каких-либо собственных зависимостей. Не удалось найти внутрипроцессный обработчик запросов. Выходные данные, записанные в результате вызова hostfxr: не удалось найти совместимую версию платформы. Указанная версия {версия} — предварительная версия — * платформы Microsoft.AspNetCore.App не найдена. Не удалось запустить приложение /LM/W3SVC/1416782824/ROOT, код ошибки — 0x8000ffff.

  • Журнал stdout модуля ASP.NET Core: не удалось найти совместимую версию платформы. Указанная версия {версия} — предварительная версия — * платформы Microsoft.AspNetCore.App не найдена.

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

  • Если приложение запускается в среде выполнения предварительной версии, установите 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" с физическим корневым каталогом "{ПУТЬ}" возникло непредвиденное управляемое исключение, код исключения — 0xe0434352. Дополнительные сведения см. в журналах sderr. Приложению /LM/W3SVC/5/ROOTс физическим корневым каталогом {ПУТЬ} не удалось загрузить clr и управляемое приложение. Рабочий поток CLR преждевременно завершил работу.

  • Журнал stdout модуля ASP.NET 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.

  • Журнал stdout модуля ASP.NET Core: необработанное исключение: System.BadImageFormatException: не удалось загрузить файл или сборку {СБОРКА}.dll. Была сделана попытка загрузить программу, имеющую неверный формат.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Журнал stdout модуля ASP.NET 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.

  • Журнал stdout модуля ASP.NET 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: приложение для выполнения не существует: ПУТЬ{СБОРКА}.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 — служба недоступна

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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