Устранение распространенных неполадок в Службе приложений Azure и службах IIS с помощью ASP.NET Core
Этот раздел описывает наиболее распространенные ошибки при размещении приложений ASP.NET Core в Службе приложений Azure и IIS и включает рекомендации по их устранению.
См. сведения в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS, где описаны распространенные ошибки запуска приложений и приведены инструкции по их диагностике.
Соберите следующие сведения:
- поведение обозревателя (код состояния и сообщение об ошибке);
- записи в журнале событий приложения;
- Служба приложений Azure: Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.
- IIS
- В меню Windows нажмите кнопку Пуск, введите Просмотр событий и нажмите клавишу ВВОД.
- В открывшемся окне Просмотр событий на боковой панели разверните узлы Журналы WindowsПриложения.
- Записи в журнале вывода stdout и отладки модуля ASP.NET Core
- Служба приложений Azure: Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.
- IIS. Следуйте инструкциям в разделах Создание и перенаправление журнала и Расширенные журналы диагностики в статье "Модуль ASP.NET Core".
Сравните собранные данные с представленной здесь информацией о распространенных ошибках. Если вы найдете соответствие, выполните рекомендации по устранению неполадок.
Приведенный ниже перечень ошибок не является исчерпывающим. Если вы встретите сообщение об ошибке, которое здесь не указано, воспользуйтесь кнопкой Обратная связь в нижней части этой статьи, чтобы создать запрос с подробным описанием, которое поможет воспроизвести эту ошибку.
Важно!
Предварительные версии 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, версия {ВЕРСИЯ}-preview-* не найдена. Не удалось запустить приложение /LM/W3SVC/1416782824/ROOT, код ошибки — 0x8000ffff.
Журнал stdout модуля ASP.NET Core: не удалось найти совместимую версию платформы. Указанная платформа Microsoft.AspNetCore.App, версия {ВЕРСИЯ}-preview-* не найдена.
Журнал отладки модуля ASP.NET Core: вызов hostfxr для поиска внутрипроцессного обработчика запросов завершился ошибкой без обнаружения каких-либо собственных зависимостей. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии 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" с физическим корневым каталогом "{ПУТЬ}" возникло непредвиденное управляемое исключение, код исключения — 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. Если Windows Server Hosting отсутствует в списке установленных программ, скачайте и установите пакет размещения .NET Core.
Текущий установщик пакета размещения .NET Core (прямая загрузка)
См. дополнительные сведения об установке пакета размещения .NET Core.
Убедитесь, что для параметра Пул приложенийМодель процессаIdentity задано значение Identity или что у пользовательского удостоверения есть нужные разрешения на доступ к папке развертывания приложения.
Если вы удалили пакет размещения ASP.NET Core и установили его более раннюю версию, файл applicationHost.config не будет включать раздел модуля ASP.NET Core. Откройте файл applicationHost.config в папке %windir%/System32/inetsrv/config и найдите группу раздела . Если раздел модуля 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 для элемента в файле web.config. Он должен иметь значение для зависимого от платформы развертывания (FDD) или
.\{ASSEMBLY}.exe
для.\{ASSEMBLY}.exe
.Для зависимого от платформы развертывания файл 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 для dotnet SDK: clcid=0x409 Не удалось запустить приложение /LM/W3SVC/3/ROOT, код ошибки: 0x8000ffff.
Журнал stdout модуля ASP.NET Core: вы хотели запустить команды пакета SDK для .NET? Установите пакет SDK для dotnet: clcid=0x409.
Журнал отладки модуля ASP.NET Core: вызов hostfxr для поиска внутрипроцессного обработчика запросов завершился ошибкой без обнаружения каких-либо собственных зависимостей. Скорее всего, это означает, что приложение настроено неправильно. Проверьте версии Microsoft.NetCore.App и Microsoft.AspNetCore.App, которые являются целевыми для приложения и установлены на компьютере. возвращена ошибка HRESULT: 0x8000ffff Не удалось найти внутрипроцессный обработчик запросов. Выходные данные, записанные в результате вызова hostfxr: вы хотели запустить команды пакета SDK для .NET? Установите пакет SDK для dotnet: clcid=0x409 Сбой HRESULT, код ошибки: 0x8000ffff.
Устранение неполадок:
Убедитесь, что приложение выполняется локально в Kestrel. Сбой процесса может быть результатом проблемы в приложении. Дополнительные сведения см. в статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.
Проверьте атрибут arguments для элемента в файле web.config и удостоверьтесь, что он имеет значение: а) для развертывания, зависящего от платформы (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 дочернего приложения не содержит раздел или что дочернее приложение не наследует обработчики родительского приложения.
Раздел <system.webServer>
файла <system.webServer>
находится внутри элемента <location>
. Значение false
свойства InheritInChildApplications указывает, что параметры, заданные в элементе InheritInChildApplications, не наследуются приложениями, которые находятся во вложенном каталоге родительского приложения. Дополнительные сведения см. в разделе Модуль ASP.NET Core для IIS.
Неверный путь к журналу 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>
в файлеstdoutLogFile
. Дополнительные сведения см. в разделе Создание и и перенаправление журнала.Пользователь пула приложения не имеет прав на запись в путь к папке журнала 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.
Соберите следующие сведения:
- поведение обозревателя (код состояния и сообщение об ошибке);
- записи в журнале событий приложения;
- Служба приложений Azure: Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.
- IIS
- В меню Windows нажмите кнопку Пуск, введите Просмотр событий и нажмите клавишу ВВОД.
- В открывшемся окне Просмотр событий на боковой панели разверните узлы Журналы WindowsПриложения.
- Записи в журнале вывода stdout и отладки модуля ASP.NET Core
- Служба приложений Azure: Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.
- IIS. Следуйте инструкциям в разделах Создание и перенаправление журнала и Расширенные журналы диагностики в статье "Модуль ASP.NET Core".
Сравните собранные данные с представленной здесь информацией о распространенных ошибках. Если вы найдете соответствие, выполните рекомендации по устранению неполадок.
Приведенный ниже перечень ошибок не является исчерпывающим. Если вы встретите сообщение об ошибке, которое здесь не указано, воспользуйтесь кнопкой Обратная связь в нижней части этой статьи, чтобы создать запрос с подробным описанием, которое поможет воспроизвести эту ошибку.
Важно!
Предварительные версии 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, версия {ВЕРСИЯ}-preview-* не найдена. Не удалось запустить приложение /LM/W3SVC/1416782824/ROOT, код ошибки — 0x8000ffff.
Журнал stdout модуля ASP.NET 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" с физическим корневым каталогом "{ПУТЬ}" возникло непредвиденное управляемое исключение, код исключения — 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. Если Windows Server Hosting отсутствует в списке установленных программ, скачайте и установите пакет размещения .NET Core.
Текущий установщик пакета размещения .NET Core (прямая загрузка)
См. дополнительные сведения об установке пакета размещения .NET Core.
Убедитесь, что для параметра Пул приложенийМодель процессаIdentity задано значение Identity или что у пользовательского удостоверения есть нужные разрешения на доступ к папке развертывания приложения.
Если вы удалили пакет размещения ASP.NET Core и установили его более раннюю версию, файл applicationHost.config не будет включать раздел модуля ASP.NET Core. Откройте файл applicationHost.config в папке %windir%/System32/inetsrv/config и найдите группу раздела . Если раздел модуля 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 для элемента в файле web.config. Он должен иметь значение для зависимого от платформы развертывания (FDD) или
.\{ASSEMBLY}.exe
для.\{ASSEMBLY}.exe
.Для зависимого от платформы развертывания файл 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 для элемента в файле web.config и удостоверьтесь, что он имеет значение: а) для развертывания, зависящего от платформы (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 дочернего приложения не должно быть раздела .
Неверный путь к журналу stdout
Браузер: приложение работает правильно.
Журнал приложений. Предупреждение: не удалось создать stdoutLogFile \?{PATH}\path_doesnt_exist\stdout_{ИДЕНТИФИКАТОР_ПРОЦЕССА}_{МЕТКА ВРЕМЕНИ}.log, код ошибки = -2147024893.
Журнал stdout модуля ASP.NET Core: файл журнала не создан.
Устранение неполадок:
Не существует путь
stdoutLogFile
, указанный в элементе<aspNetCore>
в файлеstdoutLogFile
. Дополнительные сведения см. в разделе Создание и и перенаправление журнала.Пользователь пула приложения не имеет прав на запись в путь к папке журнала stdout.
Общая проблема с конфигурацией приложения
Браузер: ошибка HTTP 502.5 — сбой процесса
Журнал приложений. Приложение MACHINE/WEBROOT/APPHOST/{СБОРКА} с физическим корневым каталогом C:{ПУТЬ} создало процесс с помощью команды C:{ПУТЬ}СБОРКА}.{exe|dll}, но при этом произошел сбой, не был получен ответ или не прослушивался указанный порт {ПОРТ}; код ошибки — {КОД_ОШИБКИ}.
Журнал stdout модуля ASP.NET Core: файл журнала создан, но пуст.
Устранение неполадок:
Процесс не удалось запустить, скорее всего, из-за проблемы с конфигурацией приложения или ошибки программирования.
Дополнительные сведения см. в следующих разделах: