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:
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:
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:
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:
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.
Mise à jour 3:
Je pense que cette capture d’écran confirme ce que je disais
Mise à jour 4:
J'ai installé la version x86 d'ASP.NET Core 2.1 Runtime - voir ci-dessous:
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:
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.
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" />
Les étapes que j'ai prises pour que cela fonctionne:
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.
Mon projet a fonctionné sur asp.net core 2.1 Preview 2 sur Azure . J'ai suivi les étapes suivantes:
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.
C'est tout.
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!!
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é.
J'ai eu le même problème. Enfin après 2 heures je l'ai réparé.
Voici ma configuration:
Extensions:
Console dotnet --info commande:
Console kudu dotnet --version commande:
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.
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.