Frage Was macht die Einstellung ".NET Framework Version" in IIS eigentlich?


Das scheint eine offensichtliche Frage zu sein, aber ich versuche herauszufinden, wie sich die Schaltfläche ".NET Framework-Version ändern" im IIS-Konfigurationsfenster der obersten Ebene tatsächlich ändert. Auf allen meinen Servern war es immer v2.0. Meine Anwendungspools sind eine Mischung aus v2.0 und v4.0 und alle meine v4.0-Anwendungen funktionieren ordnungsgemäß.

Also, was kontrolliert diese Versionsnummer? Was würde darauf beruhen, das keinem Anwendungspool zugewiesen wäre? Erscheint merkwürdig.

Die betreffende Einstellung ist unten abgebildet:

enter image description here


19
2017-07-24 17:41


Ursprung




Antworten:


Es macht IIS auf verschiedene Root-Level-Konfigurationsdateien für .NET. Diese Dateien auf Stammebene befinden sich in den Framework-Installationsordnern in %systemroot%\Microsoft.NET\Framework\<version>\CONFIG

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

Wenn Sie die .NET Version ändern, wird die Datei machine.config verwendet. Wenn Sie es zum Beispiel auf v2.050727 ändern, wird es aussehen %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config. Wechseln zu v4.0.30319 wird es aussehen lassen %systemroot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config

Anwendungen erben Dinge von den Konfigurationseinstellungen auf Root-Ebene.

Schau es dir an Dieser Beitrag Dies umreißt das Konfigurationssystem und zeigt die Konfigurationshierarchie.


13
2017-07-24 19:26





Laut TechNet, diese Einstellung steuert die "Standard" .NET Framework-Version.

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 sie nichts bewirken würde. Der Speicherort im Bereich "Bereitstellen" des Bereichs "Aktionen" lässt mich fragen, ob dies auch Auswirkungen auf die dort befindlichen Import- / Exportpakete haben würde. Ich werde das testen.

ich fand ein verwandter Thread auf iis.net, die diese Einstellung anzuzeigen scheint, würde die Abschnitte der Konfigurationsdatei betreffen, die standardmäßig unterstützt werden, ohne dass sie an den Anfang der Dateien hinzugefügt werden.

Ich habe nicht viel mehr im Internet gefunden, es scheint eine ziemlich obskure Einstellung zu sein.

Edit: Die Antwort von Squillman ist besser.


3
2017-07-24 17:49



Ich würde auf die gleiche Weise antworten, aber dann lese ich die Frage noch einmal: Er spricht über die Einstellung auf der obersten Ebene in IIS, nicht über einen bestimmten Anwendungspool. Und diese Einstellung ergibt für mich auch keinen Sinn, wie es ist nicht jede "globale" .NET - Version in IIS, dies ist eine Anwendungspool - spezifische Einstellung. - Massimo
Ja du bist richtig, danke für den Kommentar. Ich muss meine Antwort bearbeiten. - jbuch
Beachten Sie außerdem, dass .NET 4.5 eine Erweiterung von 4.0 ist und keine neue Laufzeitumgebung einführt. - Richard
Wie sich herausstellte, 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. Also im Grunde war ich keine Hilfe, wenn ich in ein paar Minuten keine bessere Antwort finden kann, werde ich meine Antwort löschen. - jbuch