Ошибка Azure WebApp Asp.NET Core 2: при запуске приложения возникла ошибка
Я обновил asp.net core 1.1 до asp.net core 2. Он отлично работает на локальном сервере, но когда я пытаюсь развернуть его в размещенном в Azure веб-приложении, я получил сообщение об ошибке:
Произошла ошибка при запуске приложения. .NET Core
4.6.00001.0 X86 v4.0.0.0 | Microsoft.AspNetCore.Hosting версия 2.0.0-rtm-26452 | Microsoft Windows 6.2.9200
![enter image description here]()
Есть идеи?
Ответы
Ответ 1
Мне удалось решить проблему самостоятельно, и я надеюсь, что это решение может помочь кому-то.
Сначала я установил папку журнала на сервере Azure и нашел проблему с более подробной информацией.
Я забыл некоторые изменения базы данных в изменениях базы данных SQL.Update и теперь работает нормально.
Ответ 2
Пожалуйста, добавьте ASPNETCORE_DETAILEDERRORS = true в настройках приложения, перезапустите его и увидите подробную ошибку при следующей загрузке URL. Это поможет вам это исправить.
Например, ошибка в моем случае заключалась в том, что у меня не было настроенной управляемой идентичности моего приложения API, настроенной для доступа к хранилищу ключей, чтобы получить учетную запись хранения и ключи Cosmos DB. Я использовал запуск, чтобы внедрить сконфигурированные объекты хранилища и космические базы данных, поэтому он не работал в тот момент, когда я запускал свое приложение.
Ответ 3
Получил мои подсказки от https://scottsauber.com/2017/04/10/how-to-troubleshoot-an-error-occurred- while-starting- the-application-in- asp- net-core-on- iis/
- Откройте ваш web.config
- Изменить stdoutLogEnabled = true
- Создание папки журналов. К сожалению, AspNetCoreModule по умолчанию не создает папку для вас. Если вы забудете создать папку журналов, в программу просмотра событий будет записано сообщение об ошибке: Предупреждение: Не удалось создать stdoutLogFile \?\YourPath\logs\stdout_timestamp.log, ErrorCode = -2147024893. Часть stdout значения. \Logs\stdout фактически ссылается на имя файла, а не на папку. Что немного сбивает с толку. Запустите ваш запрос еще раз, затем откройте файл \logs\stdout _ *. Log
Примечание. Вы захотите отключить эту функцию после устранения неполадок, поскольку это снижает производительность.
Так что ваш элемент web.configs aspNetCore должен выглядеть примерно так
Ответ 4
Мне удалось обнаружить мои исключения для этой ошибки, запустив приложение из опубликованного исполняемого файла.
Чтобы попробовать это локально, вы можете щелкнуть правой кнопкой мыши веб-проект, нажать "Опубликовать", а затем опубликовать его в папке. В папке с тем же именем, что и у проекта, должен быть исполняемый файл. Запустите это, и оно должно показать исключения в консоли.
Ответ 5
Вы можете получить более подробную информацию, включив ASPNETCORE_DETAILEDERRORS = true
:
перейдите на панель инструментов Azure → Служба приложений
В настройках вашего приложения (в левой боковой панели) → прокрутите вниз до конфигурации, которая является парой настроек ключ-значение, введите вышеуказанное. Перезапустите ваше веб-приложение.
Ответ 6
Включите DetailedErrorsKey
в Program.cs
чтобы вы могли понять, что происходит.
WebHost.CreateDefaultBuilder(args)
.UseSetting(WebHostDefaults.DetailedErrorsKey, "true")