web-dev-qa-db-ja.com

Aspnetcore 2.2 .NET Frameworkをターゲットにして、AzureアプリサービスでInProcessがエラーHTTPエラー500.0-ANCMインプロセスハンドラーの読み込みエラーで失敗する

アプリをaspnetcore 2.2にアップグレードしましたが、後で削除する予定のいくつかのレガシー制限のため、.NET Frameworkをターゲットにする必要があります。

新しいホスティングモデルInProcessは改善をもたらしたのでそれを使用したいのですが、Azureにデプロイするとエラーが発生します。

<?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>

そして私のエラー

HTTPエラー500.0-ANCMインプロセスハンドラーの読み込みエラーこの問題の一般的な原因:指定されたバージョンのMicrosoft.NetCore.AppまたはMicrosoft.AspNetCore.Appが見つかりませんでした。インプロセスリクエストハンドラーのMicrosoft.AspNetCore.Server.IISがアプリケーションで参照されていません。 ANCMはdotnetを見つけることができませんでした。トラブルシューティングの手順:エラーメッセージのシステムイベントログを確認するアプリケーションプロセスのstdoutメッセージのログ記録を有効にするデバッガーをアプリケーションプロセスに接続して検査詳細については、 https://go.Microsoftを参照してください。 com/fwlink /?LinkID = 2028526

同じアプリをアウトプロセスに変更し、モジュールをv1に変更すると、期待どおりに機能します

<?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>

AzureパイプラインとMSbuildを使用してアプリを公開しています。

11

私の場合、同僚から共有web.configを取得していますが、ビルドパスが正しくありません。パスを修正すると機能します!

enter image description here

0
Anh Hoang