Frage

Ich habe eine .NET Framework 1.1 Website geerbt, dass ich mit IIS 7 auf Windows Server Host muss 2008. Ich bin ein paar Probleme haben.

1. Installation

Ich installierte .NET Framework 1.1 folgende diese Anweisungen .

Die Installation automatisch einen neuen Anwendungspool „ASP.NET 1.1“ erstellt. Ich benutze das.

2. Probleme

Wenn ich starten Sie die Web-Seite, die ich web.config Laufzeitfehler zu sehen:

Der Tag enthält einen ungültigen Wert für das ‚Kultur‘ Attribut.

ich fix, dass ein und dann sehen:

Untergeordnete Knoten sind nicht erlaubt.

Ich will nicht, dieses Spiel Whack-a-Mole spielen zu halten. Es muss etwas falsch sein.

3. Bin ich sicher, das ist .NET 1.1?

untersuche ich die automatisch Anwendungspool erstellt. Ich sehe, dass es 1.1.

Erweiterte Einstellungen ...

Automatische AppPool .NET 1.1 Erweitert

Grundeinstellungen ...

Automatische AppPool .NET 1.1 Basic

Dies scheint nicht richtig.

Während 1.1 Satz, es ist keine Option im Advanced Dropdown-Selektoren.

Und warum in der Basic-Box ist es nur "v1.1" und „.NET Framework v1.1.4322" nicht? Das wäre konsistenter.

4. Ich kann nicht andere .NET 1.1 App Pools erstellen

Ich kann nicht .NET Framework 1.1 für andere Anwendungspools auswählen. Es ist nicht eine Option in der Dropdown-Selektoren. Was ist mit dem oben?

App Pool fehlt .NET 1.1 Option

Was nun?

  • Warum ist nicht v1.1 Option für alle AppPools?
  • Wie kann ich meine Anwendung überprüfen ist in der Tat mit .NET Framework 1.1?
  • Warum kann ich diese Laufzeitfehler erhalten?
War es hilfreich?

Lösung

Ein Schnellfeuer Weg, um herauszufinden, ob die Anwendung unter 1.1 ausgeführt wird, ein Quicky Skript, das zeigt die Umwelt-Version zu klopfen:

<%@ Page Language="C#" %>
<script runat="server">
    void Page_Load(Object sender, EventArgs e)
    {
        Response.Write(System.Environment.Version.ToString());       
    }
</script>

Oder wenn Sie gelben Bildschirme des Todes sind immer dann finden Sie die Versionsnummer am unteren Rand der Seite sehen: alt text

Ich vermute, dass der Grund, warum Sie nicht Rahmen auswählen können v1.1 , wenn ein neuer Anwendungspool Hinzufügen oder Ändern eines bestehenden ist, dass der 1.1-Installer nicht weiß, wie einige kritische Stück hinzufügen von Metadaten oder Config-Informationen zu IIS.

.NET 2.0 Schiffe mit 2008 und .NET 4.0 eine spätere Produkt zu sein, ist IIS7 freundlich und so gibt es wahrscheinlich besser IIS-Integration. Oder hat v1.1 nicht einige wesentliche Nugget von Metadaten, die IIS7 des InetMgr muss in der Lage sein, dies zu seinen verschiedenen Listen hinzuzufügen.

Der Grund, warum Sie v1.1 in dem Dropdown downlist für den ASP.NET 1.1 Pool sehen Grundeinstellungen Dialog und nicht die anderen Pools ist, weil es bereits gesetzt worden ist und so wird nur in einbezogen werden Die Liste. Ich experimentierte und dies änderte sich auf dem neu ASP.NET 1.1-Pool erstellt und setzen Sie ihn auf 2.0, gespeichert, dann wieder geöffnet. Das Ergebnis ist, dass v1.1 nicht sichtbar ist mehr.

Darüber hinaus der Grund, warum es heißt v1.1 und nicht .NET Framework v1.1.4322 ist, weil der Wert gepflückt wird in der App-Pool config in managedRuntimeVersion vom applicationHost.config Attribute auf. Der Grund, dass Versionen 2.0 und 4.0 eine vollständige Beschreibung zeigen ist, dass es wahrscheinlich einig Stück IIS freundlichen Metadaten mit einem Ressource-String nachgeschlagen wird, dass für 1.1 nicht vorhanden ist.

Um einen Pool zu nutzen v1.1 zum Zeitpunkt der Erstellung legen Sie manuell einstellen müssen, um das managedRuntimeVersion Attribut APPCMD.EXE:

appcmd add apppool /name:"NewPool"  /managedRuntimeVersion:"v1.1"

Dies wird am Ende des Artikels erklären Sie verknüpft.

einen vorhandenen Pool ändern 1.1 zu verwenden, müssen Sie auch die Befehlszeile APPCMD.EXE Tool verwenden:

appcmd set apppool /apppool.name:"SomeOtherPool" /managedRuntimeVersion:"v1.1"

Interessanterweise können Sie managedRuntimeVersion einen alten Wert:

alt text

Ich wünsche, ich könnte erklären, warum ich der ASP.NET 1.1-Anwendungspool auf magische Weise erstellt wird, oder wie das Installationsprogramm, das Richtige mit den Handler Mappings zu tun verwaltet (irgendwie alle der richtigen preConditions eingestellt sind, also entweder das Installationsprogramm wurde aktualisiert oder IIS hat eine Art von Trigger zu suchen 1.1 installiert und reparieren Dinge).

Update:

kontaktierte ich Bill Staples, der Autor dieses Artikels:

Wie ASP.NET 1.1 mit IIS7 auf Vista und Windows 2008

installieren

Ich habe ihn gefragt, wie das 1.1-Installationsprogramm oder IIS7 verwalten, das Richtige in Bezug auf Handler Mappings zu tun, den „ASP.NET 1.1“ Anwendungspool erstellen und so weiter. Das war seine Antwort:

"Wenn der Speicher dient, in Vista / Windows 2008 gibt es eine Anwendungskompatibilität Shim erstellt, die das 1.1-Installationsprogramm erkennen würden und die App-Pool-Erstellung / Handler Mapping tun. Jedoch in Windows 7 / Windows Server 2008 R2, .NET Framework 1.1 wird nicht mehr unterstützt und ich wäre nicht überrascht, wenn dieser Code gezogen wurde, obwohl ich nicht sicher weiß. "

gelöst So Geheimnis.

Andere Tipps

traf ich die gleichen Probleme während versuchen, einen alten .Net 1.1 zu installieren. auf Win2k8 / IIS7. Am Ende fand ich es war einfacher und schneller einfach alles zu .Net 2.0 zu stoßen. Ich würde Ihnen empfehlen, das gleiche zu tun.

Es sei denn, Ihr Code etwas exotische die Portierung zu tun in Tag oder weniger durchgeführt für ziemlich große Projekte werden kann.

Windows 2008 verfügt nicht über .NET 1.1 installiert ist. Sie können manuell installieren .NET 1.1 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top