Приложение ASP.NET Core 2.1 Preview 2 не работает с Azure App Service

Я запускал приложение ASP.NET Core 2.1 Preview-1 на Azure, так как этот выпуск стал доступен. Я установил расширения среды выполнения ASP.NET Core через портал, и он работает нормально.

Теперь, когда Microsoft выпустила ASP.NET Core 2.1 Preview-2, я установил обновление в SDK. Обновил мои пакеты Nuget, чтобы у меня были версии для предварительного просмотра 2. Посмотрите мой файл csproj ниже: enter image description here

Я также удалил расширения ASP.NET Core Runtime из Azure App Service для моего приложения, которое показывало 2.1 Preview-1. Вместо этого устанавливаются время запуска ASP.NET Core 2.1 для x86 и x64 отдельно - см. Ниже: enter image description here

Составил приложение и опубликовал его в моем приложении Azure App, но я получаю ошибки. Сначала я получил ошибку 502.5. Теперь я получаю:

Указанное приложение CGI обнаружило ошибку, и сервер завершил процесс.

Что мне здесь не хватает?

ОБНОВИТЬ:

Как я уже сказал, я поставил свою цель на x86 (чтобы играть в нее безопасно) - см. Ниже:

enter image description here

Я удалил расширение и отдельные времена работы x86 и x64 и установил только x86 с поддержкой ASP.NET Core 2.1 preview-2 - см. Ниже: enter image description here

Я перезапустил приложение несколько раз, и я все еще получаю 502,5.

Затем я попытался выполнить само развертывание через командную строку CLI, выпустив следующую команду:

dotnet publish -c Release -r win10-x64

И я получаю следующую ошибку:

C:\Program Files\dotnet\sdk\2.1.300-preview2-008530\Sdks\Microsoft.NET.Sdk\target\Microsoft.NET.RuntimeIdentifierInference.targets(125,5): ошибка: платформа RuntimeIdentifier 'win10-x64 'и PlatformTarget' x86 'должны быть совместимы.

Означает ли это, что у меня установлена версия SDK на x86, и я должен нацелиться на x86?

У меня не было половины проблемы, с которой я сейчас перехожу от ASP.NET Core 2.0 до 2.1 !!!!

ОБНОВЛЕНИЕ 2: Просто запущен dotnet --info в консоли dotnet --info. Если я правильно это прочитаю, у меня нет правильного времени выполнения.

enter image description here

Обновление 3:

Я думаю, что этот снимок экрана подтверждает то, что я говорил. enter image description here

Обновление 4:

Я установил x86 версию ASP.NET Core 2.1 Runtime - см. Ниже: enter image description here

Когда я запускаю dotnet --info в консоли dotnet --info, я получаю следующее, что меня смущает. Я все еще не вижу версию, которую я ожидал увидеть:

enter image description here

И когда я ударил URL-адрес, я все равно получаю 502.5 и такое же сообщение в консоли dotnet MyApp.dll когда я запускаю dotnet MyApp.dll сообщая мне, что правильная версия среды выполнения не найдена.

Как я получу правильную версию там? Я думал, что установка его через портал сделает это.

Ответы

Ответ 1

Нам удалось опубликовать веб-приложение ASP.NET Core 2.1 RC1 для приложения-приложения Azure с использованием "автономного" режима развертывания.

Платформа: любой процессор

Вот ссылки на пакеты из нашего.csproj:

<PackageReference Include="Microsoft.AspNetCore.App"/> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0-rc1-final" PrivateAssets="All"/> <PackageReference Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="2.1.0-rc1-final"/>

Ответ 2

Шаги, которые я предпринял, чтобы заставить это работать:

  • Удалите расширение 2.1-preview1 ASP.NET Core Runtime Extension.
  • Проверьте настройки приложения, чтобы убедиться, что вы работаете в бит 32- или 64-бит.
  • Установите только совместимый (32- или 64-разрядный) ASP.NET Core 2.1 Runtime.
  • Перезапустите веб-приложение.

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

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

Ответ 3

Я получил свой проект, работая над asp.net core 2.1 Preview 2 на Azure. Я сделал следующие шаги;

  1. Удалено старое расширение ядра asp.net из службы приложений Azure. Расширение
  2. Использование kudus удалило все файлы в папке wwwroot сайта.
  3. Установленное расширение основного сайта asp.net от Azure, как показано на рисунке ниже, и перезапустило службу приложения

    Azure Web App Site Extension

  4. Перед развертыванием в Azure используется используемая опция публикации, как показано на рисунке ниже, Azure App Service Publish Configuration in VS 2017 15.7 Preview 3

Это.

Ответ 4

Попробуйте добавить файл global.json в папку проекта с этим контентом:

{
  "sdk": {
    "version": "2.1.300-preview2-008530"
  }
}

Перезагрузите приложение после этого, чтобы быть в безопасности.

Ответ 5

Здесь единственное, что, похоже, сработало для меня.

Я сделал самостоятельное развертывание, используя

dotnet publish --self-contained -r win10-x64 -c Release

Затем мне пришлось выполнить ручное развертывание - в моем случае с использованием FTP.

Мне действительно хотелось бы, чтобы эта проблема была решена, но если она не будет решена при следующем развертывании, я сделаю развертывание zip. Поскольку у моего приложения есть интерфейс ReactJs, было развернуто несколько тысяч файлов, и FTP был не очень забавным!

Поскольку этот подход не зависит от того, что установлено или не установлено в Azure App Service, это гораздо более прямое решение.

Я все еще хочу иметь возможность просто нажать "Опубликовать в Visual Studio"!

ОБНОВЛЕНИЕ: я просто сделал развертывание zip, и я все еще получаю ошибки, которые я получал до того, что развертывание zip было успешным. Итак, что-то еще не так! enter image description here

Ответ 6

У меня такая же проблема. Наконец через 2 часа я исправил это.

Вот моя конфигурация:

Расширения:

enter image description here

Консоль dotnet --info:

enter image description here

Консоль kudu dotnet --version команда:

enter image description here

a) Не забудьте перезапустить приложение после установки расширения.

b) Очистите папку wwwroot от старых файлов и опубликуйте снова.

Ответ 7

У меня возникла проблема со сложным веб-сайтом, поэтому я создал простую версию, только с файлом приложения, установленным в той же версии:

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App"  Version="2.1.3" />
  </ItemGroup>

а затем, взятый из примера Тима Дикманна, я ничего не делал, кроме изменения режима развертывания в настройках публикации публикации Azure на Self-Contained - и это сработало.