it-swarm.com.ru

Приложение ASP.NET Core 2.1 Preview 2 не работает в службе приложений Azure

С тех пор, как эта версия стала доступной, я запускаю свое приложение 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 для своего приложения, которое показывало 2.1 Preview-1. Вместо этого установлено время выполнения ASP.NET Core 2.1 для x86 и x64 отдельно - см. Ниже:  enter image description here

Скомпилировал приложение и опубликовал его в моей службе приложений Azure, но я получаю ошибки. Сначала я получил ошибку 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 Файлы\DotNet\SDK\2.1.300-preview2-008530\SDKs\Microsoft.NET.Sdk\целевых\Microsoft.NET.RuntimeIdentifierInference.targets (125,5): ошибка: платформа RuntimeIdentifier 'win10-x64' и PlatformTarget 'x86' должен быть совместимым.

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

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

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

 enter image description here

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

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

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

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

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

 enter image description here

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

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

12
Sam

Нам удалось опубликовать веб-приложение 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
Sergiy

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

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

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

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

2
Kjetil Limkjær

Мой проект работает над ядром asp.net 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

Вот и все.

1
Ibrahim Mohammed

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

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

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

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

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

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

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

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

0
Sam

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

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

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

0
CrispinH

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

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

Расширения:

 enter image description here

Консольная команда dotnet --info:

 enter image description here

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

 enter image description here

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

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

0
Norbert Pisz

Попробуйте добавить файл global.json в папку вашего проекта со следующим содержимым:

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

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

0
Matias Quaranta