web-dev-qa-db-ja.com

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

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

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

問題の設定は次の図のとおりです。

enter image description here

19
John Hargrove

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が表示されます

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

構成システムの概要と構成階層を示す this article をご覧ください。

13
squillman

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

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

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

他にウェブを検索しているところはあまり見つかりませんでした。かなりあいまいな設定のようです。

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

3
jbuch