アプリを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を使用してアプリを公開しています。