web-dev-qa-db-fra.com

Aspnetcore 2.2 Targeting .Net Framework, InProcess échoue sur le service d'application Azure avec l'erreur TTP Error 500.0 - ANCM In-Process Handler Load Failure

J'ai mis à niveau mon application vers aspnetcore 2.2 mais en raison de certaines limitations héritées que je prévois de supprimer plus tard, je dois cibler .NET Framework.

Le nouveau modèle d'hébergement InProcess apporte des améliorations, donc je veux l'utiliser, mais lorsque je déploie sur Azure, je reçois une erreur.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <!--AspNetCoreModuleV2 switch back when its released on Azure-->
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\Flymark.Online.Web.exe" arguments="" stdoutLogEnabled="true" stdoutLogFile="../stdout" hostingModel="InProcess" />
    </system.webServer>
  </location>
</configuration>

Et mon erreur

Erreur HTTP 500.0 - Échec de chargement du gestionnaire de processus ANCM Causes courantes de ce problème: La version spécifiée de Microsoft.NetCore.App ou Microsoft.AspNetCore.App est introuvable. Le gestionnaire de demandes en cours, Microsoft.AspNetCore.Server.IIS, n'était pas référencé dans l'application. L'ANCM n'a pas pu trouver dotnet. Étapes de dépannage: recherchez dans le journal des événements système des messages d'erreur. Activez la journalisation des messages standard de la procédure d'application. Attachez un débogueur au processus d'application et inspectez Pour plus d'informations, visitez: https://go.Microsoft.com/fwlink/? LinkID = 2028526

Si je change la même application pour être hors processus et le module en v1, cela fonctionne comme prévu

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <!--AspNetCoreModuleV2 switch back when its released on Azure-->
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\Flymark.Online.Web.exe" arguments="" stdoutLogEnabled="true" stdoutLogFile="../stdout" hostingModel="OutOfProcess" />
    </system.webServer>
  </location>
</configuration>

Je publie mon application à l'aide de pipelines Azure et de MSbuild.

11

Dans mon cas, j'obtiens le web.config partagé de mon collègue et le chemin de génération n'est pas correct pour moi. Corrigez le chemin puis ça marche!

enter image description here

0
Anh Hoang