93 votes

Erreur HTTP 502.5 - Échec du démarrage de l'ANCM en dehors du processus après la mise à niveau vers ASP.NET Core 2.2

Après avoir mis à niveau mon projet vers ASP.NET Core 2.2, j'ai essayé d'exécuter l'application (localement bien sûr) et le navigateur a affiché un message d'erreur comme dans la capture d'écran ci-dessous.

enter image description here

plus d'erreurs notifiées par l'explorateur d'erreurs de visual studio. Je ne sais pas ce qui se passe.

0 votes

Vous devez également mettre à jour le bundle serveur .NET Core à la même version. Vous ne pouvez pas vous contenter de mettre à jour votre projet, car cela entraînerait un décalage de version dans l'ANCM.

1 votes

@LexLi Le problème a corrompu le local, pas le serveur. J'ai installé dotnet-sdk-2.2.104 et aspnetcore-runtime-2.2.2.

6 votes

Nope. Vous avez besoin du dernier "Runtime & Hosting Bundle" d'ici dotnet.microsoft.com/download/dotnet-core/2.2

0voto

Prateek Mishra Points 646

Ce problème survient également lorsqu'une valeur requise, telle que le point de terminaison de l'api, qui est nécessaire lors du démarrage du projet, est manquante dans l'app setting json. Il se peut que vous l'ayez paramétré et que vous n'ayez pas fourni de valeur pour le paramètre. J'obtiens ceci dans Azure devops

0voto

bluish Points 5503

J'ai mis stdoutLogEnabled à true dans Web.config. Donc, dans le journal, j'ai découvert que l'erreur était BadImageFormatException . En fait, mon application web a été compilée en 32 bits, et j'ai donc dû spécifier la version 32 bits de dotnet dans Web.config :

<aspNetCore processPath="C:\Program Files (x86)\dotnet\dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess" />

0voto

moueidat Points 219

Une autre réponse qui pourrait aider d'autres personnes dans le même cas : nous avons un AppService sur Azure où il y a 3 projets NETCore déployés sur 3 chemins différents :

  • Un pour le Web (/webapi)
  • One for Mobile (/mobileapi)
  • Un pour les fonctions sans serveur, dans notre cas c'était AzureFunctions (/functionapi)

Depuis la mise à niveau vers NETCore3.x Nous avons compris que le modèle d'hébergement par défaut était "In-Process". Nous avons donc dû modifier le fichier .csproj pour définir explicitement le modèle d'hébergement sur "Out-Of-Process" comme ceci :

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
  </PropertyGroup>

Mais ce n'était pas suffisant : en fait, nous devons aussi modifier Program.cs. Pourquoi ? Parce que dans Program.cs, celui généré par défaut dans NETCore3.x, vous avez le code suivant :

    public static IHostBuilder CreateHostBuilder(string[] args)
    {
        return Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
                webBuilder.ConfigureKestrel(o => o.AddServerHeader = false);
            });
    }

Lorsque nous avons remplacé ce code par l'ancien par la version NETCore2.x comme ci-dessous :

    public static IWebHostBuilder CreateWebHostBuilder(string[] args)
    {
        return WebHost.CreateDefaultBuilder(args)
            .UseKestrel(options => options.AddServerHeader = false)
            .UseStartup<Startup>();
    }

Après le déploiement, l'erreur 502.5 ANCM Startup Failure a disparu :) J'espère que cette réponse pourra aider d'autres personnes.

BTW Je sais que ce post est lié à NETCore2.2, nous avons également rencontré le même problème mais nous avons décidé de passer à NETCore3.1 car NETCore2.2 n'était plus supporté et cette version était également boguée sur certains autres points.

0voto

shakir halai Points 11

J'ai suivi l'étape ci-dessous et j'ai résolu le problème. Bonne chance :)

Étape -1 : Aller dans l'explorateur de solutions < Clic droit < Propriété

Étape 2 :

Montrez votre cadre .Net Core ou modifiez-le en fonction de vos besoins, mais assurez-vous que toutes les autres DLL existantes sont prises en charge ou que vous devez les mettre à jour.

Étape 3 : Téléchargez le paquet .NetCore sur votre PC
Voir le lien ci-dessous https://dotnet.microsoft.com/download

0voto

Saiteja Samala Points 31

Même moi, j'ai été confronté à ce problème lorsque je postais dotnet core 2.1 à 3.1 et .netstandard 1.1 à 2.1 avec dotnet core 3.1 sdk.

Lorsque dotnet publish -c Release a été utilisée, les fichiers sont dans bin\Release\netcoreapp3.1 auparavant, c'était bin\Release\netcoreapp2.1\publish dossier.

Je ne suis pas sûr des paramètres exacts, mais nous avons toujours un dossier de publication et le déploiement à partir du répertoire parent du dossier de publication a fonctionné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X