目次

ASP.NET Core アプリケーションを実行すると「ASP.NET Core does not support multiple apps in the same app pool」 エラーが発生しWebアプリが実行できない - IIS

ASP.NET Core アプリケーションを実行すると「ASP.NET Core does not support multiple apps in the same app pool」 エラーが発生しWebアプリが実行できない現象について紹介します。

現象

2つの別のASP.NET Coreアプリケーションで同じアプリケーションプールを利用すると、最初にアクセスしたアプリケーションは正常に実行できますが、 もう一つのWebアプリケーションにアクセスすると、次のエラーメッセージが表示されます。
HTTP Error 500.35 - ASP.NET Core does not support multiple apps in the same app pool



従来のASP.NET アプリケーションでは複数のWebアプリケーションを1つのアプリケーションプールで動作させることができましたが、ASP.NET Coreアプリケーションでは 同じ設定でアプリを実行しようとすると上記のエラーが発生します。

原因

ASP.NET Coreアプリケーションはデフォルトの設定ではインプロセス ホスティング(In Process Hosting) で動作します。
従来のASP.NETアプリケーションはアウトプロセス ホスティングで動作しますが、インプロセスホスティングで動作することでWebアプリケーションのパフォーマンスが向上します。
インプロセスホスティングで動作した場合、アプリケーションプールをアプリ間で共有することができない仕様になっており、1つのアプリごとに1つのアプリケーションプールを用意する必要があります。
(参考:https://docs.microsoft.com/ja-jp/aspnet/core/host-and-deploy/iis/in-process-hosting?view=aspnetcore-5.0)

対処法

アプリケーションごとにアプリケーションプールを作成してWebアプリに割り当てます。
アプリケーションプールの作成手順はこちらの記事を参照してください。

作成したアプリケーションをWebアプリケーションに割り当てる手順は次の通りです。

[インターネット インフォメーション サービス (IIS) マネージャー]を起動します。左側のツリービューでアプリケーションプールを変更したいWebアプリケーションのフォルダを選択します。 フォルダを選択したら右クリックしポップアップメニューを表示します。メニューの[アプリケーションの管理]の[詳細設定...]の項目をクリックします。


下図の[詳細設定]ダイアログが表示されます。[全般]セクションの[アプリケーション プール]の項目をクリックして選択します。右側の値の欄の右端にある[...]ボタンをクリックします。


[アプリケーションプールの選択]ダイアログが表示されます。[アプリケーション プール]のコンボボックスをクリックします。ドロップダウンリストが表示され、アプリケーションプールの 一覧が表示されます。変更したいアプリケーションプールを選択します。


変更後のアプリケーションプールを選択し、[OK]ボタンをクリックしてダイアログボックスを閉じます。


[詳細設定]ダイアログに戻ります。[アプリケーション プール]の値が変更後のアプリケーションプール名に変わっていることが確認できます。


以上でWebアプリケーションのアプリケーション プールの変更は完了です。

著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-24
作成日: 2021-02-23
iPentec all rights reserverd.