Развертывание ASP.net Core 2.0 до Azure

Я обновил приложение ASP.net Core 1.1 для ASP.net Core 2.0 со следующими шагами:

  • Изменена целевая платформа 2.0.
  • Обновление всех пакетов Nugget

Теперь мое автоматическое развертывание из git запускается и говорит, что оно выполнено успешно, но приложение не запускается. Я получаю следующую ошибку:

HTTP Error 502.5 - Process Failure

Я также добавил отдельный слот для развертывания веб-приложений и попробовал развернуть его там и получить тот же результат. Я также попытался развернуть его вручную до медленного и без изменений.

Ответы

Ответ 1

Мне пришлось добавить следующее в все файлы .csproj в решении

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>

Ответ 2

Принятый ответ не устранил проблему для меня.

Требуемые шаги:

Запустите Azure Console в приложении и удалите содержимое папки wwwroot, а затем повторно разверните.

RMDIR wwwroot /S /Q

Кроме того, если вы установили расширение Application Insights в своем приложении. Когда приложение запустится, вы получите исключение, заявив, что его невозможно найти.

Чтобы устранить эту ошибку, переустановите расширение Application Insights из блейда расширения и перезапустите приложение.

Проблема с папкой wwwroot заключается в том, что старые файлы Core 1.1 не перезаписываются. Удаление содержимого каталога устраняет проблему.

Ответ 3

У меня была та же проблема, которая была вызвана остатками файлов из предыдущего развертывания .NET Core 1.1. Самый простой способ исправить это - проверить "Удалить дополнительные файлы в месте назначения" в разделе "Параметры публикации файла" в настройках публикации при публикации в Azure из VS.

Параметры публикации файла

Ответ 4

Эта проблема также возникает при использовании DevOps Pipeline для кода, нацеленного на ядро dotnet 2.1. Это связано с тем, что с сегодняшнего дня 10/2 Azure использует DotNetCore 3.0 в качестве среды выполнения по умолчанию (по крайней мере, так, как это выглядит). Чтобы решить эту проблему в конвейере devops, необходимо установить SDK

Код Yaml:

 steps:
 - task: [email protected]
  displayName: 'Install Core 2.1'
inputs:
  version: 2.2.104

PS: это говорит мне о том, что вы также должны установить SDK на целевой машине, чтобы dotnet компилировал правильную версию. (Azure или Windows Server, в зависимости от того, где вы находитесь)