Que fait réellement le paramètre «.NET Framework Version» dans IIS?

19

Cela semble être une question évidente, mais j'essaie de déterminer ce que le bouton «Modifier la version de .NET Framework» du panneau de configuration IIS de niveau supérieur change réellement. Sur tous mes serveurs, il a toujours été laissé à la v2.0. Mes pools d'applications sont un mélange de v2.0 et v4.0 et toutes mes applications v4.0 fonctionnent correctement.

Alors, que contrôle ce numéro de version? Sur quoi s'appuierait ce qui ne serait pas affecté à un pool d'applications? Semble étrange.

Le réglage en question est illustré ci-dessous:

entrez la description de l'image ici

John Hargrove
la source

Réponses:

13

Il fait pointer IIS vers différents fichiers de configuration de niveau racine pour .NET. Ces fichiers de niveau racine résident dans les dossiers d'installation de l'infrastructure dans%systemroot%\Microsoft.NET\Framework\<version>\CONFIG

IIS recherche des fichiers de configuration pour lui-même dans %systemroot%\system32\inetsrv\config\applicationHost.config
et pour .NET dans
%systemroot%\Microsoft.NET\Framework\<version>\CONFIG\machine.config

Changer les commutateurs de la version .NET que machine.config utilise. Par exemple, le changer en v2.050727 le fera regarder %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config. Le passage à la v4.0.30319 le fera regarder%systemroot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config

Les applications héritent des éléments des paramètres de configuration au niveau racine.

Jetez un œil à cet article qui décrit le système de configuration et montre la hiérarchie de configuration.

squillman
la source
3

Selon TechNet , ce paramètre contrôle la version .NET Framework "par défaut".

Au niveau du pool d'applications, ce paramètre contrôle la structure utilisée pour héberger les applications associées au pool. Au niveau du serveur, ce paramètre ne semble pas avoir d'effet immédiat ou évident sur les sites .NET 4.0 ou 2.0 exécutés sur mon serveur de test, mais je doute que ce serait une option s'il ne faisait rien. Son emplacement dans la section Déployer du volet Actions me fait me demander si cela affecterait également les packages d'importation / exportation qui s'y trouvent. Je vais tester ça.

J'ai trouvé un fil conducteur sur iis.net qui semble indiquer que ce paramètre affecterait les sections de fichier de configuration qui sont prises en charge par défaut sans s'ajouter au début des fichiers.

Je n'ai pas trouvé grand-chose d'autre sur le Web, cela semble être un cadre assez obscur.

Edit: La réponse de squillman est meilleure.

jbuch
la source
1
J'allais répondre exactement de la même manière, mais j'ai relu la question: il parle du paramètre de niveau supérieur dans IIS, pas d'un pool d'applications spécifique. Et ce paramètre n'a pas de sens pour moi non plus, car il n'y a pas de version .NET "globale" dans IIS, il s'agit d'un paramètre spécifique au pool d'applications.
Massimo
Oui tu as raison, merci pour le commentaire. Je vais devoir modifier ma réponse.
jbuch
2
Notez également que .NET 4.5 est une extension de 4.0, il n'introduit pas de nouveau runtime.
Richard
Il s'avère que ma réponse initiale concernait les pools d'applications, et il est clair maintenant que vous faites référence à l'option "Changer la version de .NET Framework" sous le volet "Actions" lorsque vous cliquez sur le nœud du serveur dans le gestionnaire IIS outil. Donc, fondamentalement, je n'ai pas aidé, si je ne peux pas trouver une meilleure réponse dans quelques minutes, je vais supprimer ma réponse.
jbuch