IISの「.NET Frameworkバージョン」設定は実際に何をしますか?


19

これは明らかな質問のように思えますが、最上位のIIS構成パネルの[.NET Frameworkバージョンの変更]ボタンが実際に変更するものを判断しようとしています。すべてのサーバーで、常にv2.0のままです。私のアプリケーションプールはv2.0とv4.0の混合であり、すべてのv4.0アプリケーションが正しく動作します。

それで、このバージョン番号は何を制御しますか?アプリケーションプールに割り当てられないこれに依存するものは何ですか?奇妙に思えます。

問題の設定を以下に示します。

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

回答:


13

IISが.NETの異なるルートレベルの構成ファイルを指すようにします。これらのルートレベルファイルは、以下のフレームワークインストールフォルダー内にあります。%systemroot%\Microsoft.NET\Framework\<version>\CONFIG

IISは、それ自体%systemroot%\system32\inetsrv\config\applicationHost.config
と.NETの設定ファイルを探し ます
%systemroot%\Microsoft.NET\Framework\<version>\CONFIG\machine.config

.NETバージョンを変更すると、machine.configが使用されます。たとえば、v2.050727に変更すると、が表示され%systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.configます。v4.0.30319に変更すると、%systemroot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config

アプリケーションは、ルートレベルの構成設定からものを継承します。

見ていこの記事のconfigシステムやショー構成階層の概要を説明します。


3

TechNetよると、この設定は「デフォルト」の.NET Frameworkバージョンを制御します。

アプリケーションプールレベルで、この設定は、プールに関連付けられたアプリケーションをホストするために使用されるフレームワークを制御します。サーバーレベルでは、この設定はテストサーバーで実行されている.NET 4.0または2.0サイトに直接または明白な影響を与えるようには見えませんが、何もしなければオプションになるとは思いません。[アクション]ウィンドウの[展開]セクションにある場所は、そこにあるインポート/エクスポートパッケージにも影響するのではないかと思います。これをテストします。

iis.netに関連するスレッドが見つかりました。この設定は、ファイルの先頭に追加せずにデフォルトでサポートされる構成ファイルセクションに影響することを示しているようです。

私はウェブを検索する他の多くを見つけていません、それはかなりあいまいな設定のようです。

編集:squillmanからの答えの方が優れています。


1
私はまったく同じ方法で答えようとしましたが、質問を読み直しました。彼は特定のアプリケーションプールではなく、IISのトップレベルの設定について話しているのです。また、IISには「グローバル」な.NETバージョンがないため、この設定も意味がありません。これはアプリケーションプール固有の設定です。
マッシモ

はい、あなたは正しいです、コメントをありがとう。回答を編集する必要があります。
-jbuch

2
また、.NET 4.5は4.0の拡張機能であり、新しいランタイムを導入しないことに注意してください。
リチャード

結局のところ、私の最初の答えはアプリケーションプールに関するものでしたが、IISマネージャーでサーバーノードをクリックすると、[アクション]ウィンドウの下にある[.NET Frameworkバージョンの変更]オプションを参照していることがわかります。ツール。だから基本的に私は助けにならなかった。数分でもっと良い答えが見つからなかったら、答えを削除する。
-jbuch
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.