Was bewirkt die Einstellung ".NET Framework-Version" in IIS tatsächlich?

19

Dies scheint eine naheliegende Frage zu sein, aber ich versuche festzustellen, was sich durch die Schaltfläche ".NET Framework-Version ändern" im IIS-Konfigurationsfenster der obersten Ebene tatsächlich ändert. Auf allen meinen Servern wurde es immer auf v2.0 belassen. Meine Anwendungspools setzen sich aus v2.0 und v4.0 zusammen, und alle meine v4.0-Anwendungen funktionieren ordnungsgemäß.

Was steuert diese Versionsnummer? Was würde davon abhängen, das keinem Anwendungspool zugewiesen würde? Erscheint merkwürdig.

Die fragliche Einstellung ist unten abgebildet:

Bildbeschreibung hier eingeben

John Hargrove
quelle

Antworten:

13

Dadurch verweist IIS auf verschiedene Konfigurationsdateien auf Stammebene für .NET. Diese Stammdateien befinden sich in den Framework-Installationsordnern in%systemroot%\Microsoft.NET\Framework\<version>\CONFIG

IIS sucht nach Konfigurationsdateien für sich %systemroot%\system32\inetsrv\config\applicationHost.config
und für .NET in
%systemroot%\Microsoft.NET\Framework\<version>\CONFIG\machine.config

Durch Ändern der .NET-Version wird geändert, welche machine.config verwendet wird. Wenn Sie es beispielsweise in v2.050727 ändern, wird es angezeigt %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config. Das Ändern auf v4.0.30319 wird sich ansehen%systemroot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config

Anwendungen erben Dinge von den Konfigurationseinstellungen auf Stammebene.

Schauen Sie sich diesen Artikel an , der das Konfigurationssystem umreißt und die Konfigurationshierarchie zeigt.

Squillman
quelle
3

Laut TechNet steuert diese Einstellung die .NET Framework-Standardversion.

Auf Anwendungspoolebene steuert diese Einstellung das Framework, das zum Hosten von Anwendungen verwendet wird, die dem Pool zugeordnet sind. Auf Serverebene scheint diese Einstellung keine unmittelbaren oder offensichtlichen Auswirkungen auf .NET 4.0- oder 2.0-Sites zu haben, die auf meinem Testserver ausgeführt werden. Ich bezweifle jedoch, dass dies eine Option wäre, wenn nichts unternommen wird. Die Position im Bereich "Bereitstellen" des Bereichs "Aktionen" lässt mich fragen, ob sie sich auch auf die dort befindlichen Import- / Exportpakete auswirken würde. Ich werde das testen.

Ich habe auf iis.net einen verwandten Thread gefunden, der darauf hinzudeuten scheint, dass diese Einstellung die standardmäßig unterstützten Konfigurationsdateibereiche beeinflusst, ohne dass sie zum Anfang der Dateien hinzugefügt werden.

Ich habe nicht viel anderes beim Durchsuchen des Webs gefunden, es scheint eine ziemlich dunkle Einstellung zu sein.

Edit: Die Antwort von Squillman ist besser.

jbuch
quelle
1
Ich wollte genau so antworten, las dann aber die Frage noch einmal durch: Er spricht von der Top-Level-Einstellung in IIS, nicht von einem bestimmten Anwendungspool. Und diese Einstellung nicht Sinn entweder mir nicht machen, da es nicht irgendwelche „global“ .NET - Version in IIS, das ist ein Anwendungspool - spezifische Einstellung.
Massimo
Ja du hast recht, danke für den Kommentar. Ich muss meine Antwort bearbeiten.
jbuch
2
Beachten Sie auch, dass .NET 4.5 eine Erweiterung von 4.0 ist und keine neue Laufzeit einführt.
Richard
Wie sich herausstellt, bezog sich meine ursprüngliche Antwort auf Anwendungspools, und es ist jetzt klar, dass Sie auf die Option ".NET Framework-Version ändern" im Bereich "Aktionen" verweisen, wenn Sie im IIS-Manager auf den Serverknoten klicken Werkzeug. Im Grunde war ich keine Hilfe, wenn ich in ein paar Minuten keine bessere Antwort finde, werde ich meine Antwort löschen.
Jbuch