web-dev-qa-db-fra.com

L'application ASP.NET Core 2.1 Preview 2 ne fonctionne pas sur Azure App Service

J'exécute mon application ASP.NET Core 2.1 Preview-1 sur Azure depuis que cette version est disponible. J'avais installé les extensions d'exécution ASP.NET Core via le portail et tout fonctionnait bien.

Maintenant que Microsoft a publié ASP.NET Core 2.1 Preview-2, j'ai installé la mise à niveau vers le SDK. Mise à jour de mes paquets Nuget afin que je dispose des versions preview-2 de tout. Voir mon fichier csproj ci-dessous:  enter image description here

J'ai également supprimé les extensions ASP.NET Core Runtime d'Azure App Service pour mon application affichant 2.1 Preview-1. A la place, installez ASP.NET Core 2.1 heures d’exécution séparément pour x86 et x64 - voir ci-dessous:  enter image description here

Compilé l'application et publié sur mon service Azure App, mais des erreurs se produisent. J'ai d'abord eu l'erreur 502.5. Maintenant, j'obtiens:

L'application CGI spécifiée a rencontré une erreur et le serveur terminé le processus.

Qu'est-ce que j'oublie ici?

METTRE À JOUR:

Comme suggéré dans la réponse, j'ai défini mon objectif sur x86 (pour plus de sécurité) - voir ci-dessous:

 enter image description here

J'ai supprimé l'extension et les temps d'exécution individuels x86 et x64 et installé uniquement le x86 prenant en charge ASP.NET Core 2.1 preview-2 - voir ci-dessous:  enter image description here

J'ai redémarré l'application plusieurs fois et je reçois toujours 502.5.

J'ai ensuite essayé d'effectuer un déploiement automatique via la ligne de commande CLI en émettant la commande suivante:

dotnet publish -c Release -r win10-x64

Et j'obtiens l'erreur suivante:

C:\Programme Fichiers\dotnet\sdk\2.1.300-preview2-008530\Sdks\Microsoft.NET.Sdk\cibles\Microsoft.NET.RuntimeIdentifierInference.targets (125,5): erreur: la plate-forme RuntimeIdentifier 'win10-x64' et le fichier PlatformTarget 'x86' doit être compatible.

Cela signifie-t-il que la version x86 du SDK est installée et que je dois cibler x86?

Je n'avais pas la moitié des problèmes que je traversais en passant d'ASP.NET Core 2.0 à 2.1 !!!!

UPDATE 2: Vient de lancer dotnet --info dans la console Kudu. Si je lis ceci correctement, je n'ai pas le bon runtime.

 enter image description here

Mise à jour 3:

Je pense que cette capture d’écran confirme ce que je disais  enter image description here

Mise à jour 4:

J'ai installé la version x86 d'ASP.NET Core 2.1 Runtime - voir ci-dessous:  enter image description here

Lorsque je lance dotnet --info dans la console Kudu, le message suivant me confond. Je ne vois toujours pas la version que je m'attendais à voir:

 enter image description here

Et quand je tape l'URL, je reçois toujours 502.5 et le même message dans la console Kudu lorsque j'exécute dotnet MyApp.dll en me disant que la version correcte du runtime est introuvable.

Comment vais-je obtenir la version correcte ici? Je pensais que l'installation via le portail le ferait.

12
Sam

Nous avons réussi à publier l'application Web ASP.NET Core 2.1 RC1 sur Azure app-service en utilisant le mode de déploiement "autonome".

Cible de la plate-forme: Tout processeur

Voici les références de package de notre .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

Les étapes que j'ai prises pour que cela fonctionne:

  • Supprimez l'extension ASP.NET Core Runtime 2.1-preview1.
  • Vérifiez les paramètres de l'application pour voir si vous utilisez une version 32 bits ou 64 bits.
  • Installez uniquement le runtime ASP.NET Core 2.1 correspondant (32 ou 64 bits).
  • Redémarrez l'application Web.

Le redémarrage est important - avant de redémarrer les outils .NET Core, la version était incorrecte et j'aurais aussi des erreurs 502.5.

Comme vous avez installé des environnements d'exécution 32 et 64 bits, j'essaie de supprimer celle dont votre application n'a pas besoin et de redémarrer l'application Web.

2
Kjetil Limkjær

Mon projet a fonctionné sur asp.net core 2.1 Preview 2 sur Azure . J'ai suivi les étapes suivantes:

  1. Suppression de l'ancienne extension principale asp.net de l'extension Azure App Service
  2. L'utilisation de kudus a supprimé tous les fichiers du dossier wwwroot du site.
  3. Installation de l'extension du site principal asp.net à partir d'Azure, comme indiqué dans l'image ci-dessous, puis redémarrage du service de l'application.

     Azure Web App Site Extension

  4. Avant de déployer sur Azure, l'option de configuration de publication utilisée est décrite dans l'image ci-dessous,  Azure App Service Publish Configuration in VS 2017 15.7 Preview 3

C'est tout.

1
Ibrahim Mohammed

Voici la seule chose qui semble avoir fonctionné pour moi.

J'ai fait un déploiement autonome en utilisant

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

Je devais alors faire un déploiement manuel - dans mon cas en utilisant FTP.

J'aimerais vraiment que ce problème soit résolu mais si ce n'est pas le cas lors de mon prochain déploiement, je déploierai le fichier Zip. Parce que mon application a une interface ReactJs, il y avait des milliers de fichiers à déployer et FTP n'était pas très amusant!

Comme cette approche ne dépend pas de ce qui est installé ou non sur Azure App Service, il s'agit d'une solution beaucoup plus simple.

Je veux toujours pouvoir cliquer simplement sur Publier dans Visual Studio!

UPDATE: Je viens de faire un déploiement Zip et je reçois toujours les erreurs que je rencontrais avant même si le déploiement Zip a réussi Donc, quelque chose ne va toujours pas!!  enter image description here

0
Sam

J'ai eu un problème avec un site Web complexe, alors j'ai créé un simple avec seulement le fichier App défini dans la même version:

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

puis, tiré de l'exemple de Tim Diekmann, je n'ai rien fait à part changer le Mode de déploiement dans la configuration de publication Azure Paramètres en Autonome - et cela a fonctionné.

0
CrispinH

J'ai eu le même problème. Enfin après 2 heures je l'ai réparé.

Voici ma configuration:

Extensions:

 enter image description here

Console dotnet --info commande:

 enter image description here

Console kudu dotnet --version commande:

 enter image description here

a) N'oubliez pas de redémarrer votre application après l'installation de l'extension.

b) Effacez votre dossier wwwroot d'anciens fichiers et publiez-le à nouveau.

0
Norbert Pisz

Essayez d’ajouter un fichier global.json dans votre dossier de projet avec ce contenu:

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

Redémarrez votre application après cela pour être sûr.

0
Matias Quaranta