IIS サーバー プールで正しい .Net バージョンを設定できません

IIS サーバー プールで正しい .Net バージョンを設定できません

IIS を実行している Windows Server でホストされる .Net ベースの RestApi をセットアップしようとしています。しかし、何らかの理由で、プールを needit として構成して動作させることができません。

以下に、ベンダーによる対処方法の説明を示します。WindWard ドキュメント

それは次のように述べている

「アプリケーション プール」テキスト フィールドの横にある「選択...」ボタンをクリックします。ドロップダウン リストをクリックして、次のいずれかのオプションを選択します。

ASP.NET v4.0 .NET 4.5 または .NET 4.0 (.NET 4.0 または .NET 4.5 しか表示されない場合もありますが、.NET 4.5.1 がインストールされている場合は、どちらのオプションでも機能します。) このオプションが表示されるはずです。 ここに画像の説明を入力してください

しかし、2012R2、2016、2019のどのバージョンをインストールしても、それは表示されず、常に以下のオプションが表示されるので、ここで何が欠けているのかわかりません。

ここに画像の説明を入力してください

答え1

実際に存在した .NET リリースは (*) 2.0 と 4.0 の 2 つだけです。

3.0 と 3.5 は 2.0 への追加機能にすぎません。

4.5、4.7、4.8 は 4.0 への追加機能です。

そして、IIS UI はさらにわかりにくいです。

とにかく、4.x は単に「4.0 以降」を意味します。任意の 4.x ランタイムを選択するだけで問題ありません。


(*) それはさらに悪い後で。

答え2

Microsoft が最初に IIS 7 を設計したとき、CLR バージョンは .NET Framework バージョンに準拠し、アプリケーション プールには .NET Framework のバージョン 1.0、1.1、または 2.0 が含まれると考えていました。

しかし、.NET Framework 3.0/3.5 の導入により、CLR 2.0 がまだ使用されていたため、このルールは破られました。同様に、すべての .NET Framework 4.x リリースでは CLR 4.0 が使用されています。そのため、WindWard の記事で紹介した従来の UI は残念ながらわかりにくいものでした。同様の背景を持つ Stack Overflow/ServerFault スレッドが多数見つかります。

IIS マネージャーで現在確認できるのは、Microsoft が CLR バージョンを明示的にリストしている最新の UI (最初に導入されたのはいつだったか思い出すのは簡単ではありません。おそらく IIS 10 でしょう) です。すべての .NET 開発者が CLR の概念を詳細に理解しているわけではないので、初心者にとってはまだ理解しにくいかもしれませんが、少なくとも混乱は少なくなっています。

関連情報