2009-11-07 3 views
5

Ich entwickelte eine ASP.NET MVC-Webanwendung unter Windows XP und Visual Studio 2008 (mit dem Visual Studio-Webserver). Ich habe kürzlich Windows 7 64 Bit Ultimate Edition, IIS 7.5 installiert und migrierte meine App mit appcmd.Warum versucht meine Site, die 32-Bit-aspnet_filter.dll zu laden, selbst wenn 'enable32BitAppOnWin64' auf False festgelegt ist?

Wenn ich die Flagge enable32BitAppOnWin64 == false auf meinem Anwendungspool setze, funktioniert meine Anwendung gut. Sobald ich es auf true gesetzt (da ich es in 64 Bit ausgeführt werden soll) wirft es diese Ausnahme:

Screen Shot of error

HTTP Error 500.0 - Internal Server Error 
Calling LoadLibraryEx on ISAPI filter "C:\Windows\Microsoft.NET\Framework\v2.0.50727\\aspnet_filter.dll" failed 

Wenn ich alle ISAPI-Filter gehen und löschen, aber lassen ASP.Net_2.0.50727-64 dann diesen Fehler geht weg.

Wie kann ich das beheben?

+0

Wer sind Sie mohit Sie indian Regard sind Anirudha Gupta http://anirudhagupta.blogspot.com –

+0

ja Anirudha, bin ich ein indischer ... – Mohit

Antwort

2

Es klingt, als ob Sie einige 64-Bit-ISAPI-Filter benötigen.

32-Bit-DLLs werden nicht auf einer 64-Bit-Maschine ausgeführt, es sei denn, Sie streuen etwas magischen Elfenstaub darauf. Deshalb existiert das enable32BitAppOnWin64 Flag.

Setzen Sie die Flagge auf true und schwelgen Sie in der Herrlichkeit der Pixie Staub.

+0

Aber ich denke, ich 64-Bit-ISAPI haben filter das ist in meinem framework64-verzeichnis das ist, was von ASP.Net_2.0.50727-64 – Mohit

0

Es klingt wie die Handler Mapping preConditions für Ihre Website sind ein bisschen durcheinander. Navigieren Sie in der IIS-MMC zur Site, und öffnen Sie die Handlerzuordnung. Klicken Sie im Bereich Aktionen auf der rechten Seite auf den Link "Zur übergeordneten Version zurückkehren".

3

Ihr Schlüssel ist auf dem Weg in den Fehler erwähnt:

"C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_filter.dll"

Hinweis gibt es einen zusätzlichen Schrägstrich in der Weg. Bei einer erhöhten Eingabeaufforderung zu ../Framework/v2.0.50272 Verzeichnis und den folgenden Befehl:

aspent_regiis -r

Alternativ verwenden, um den richtigen Pfad des Filters zu modifizieren IIS.

Also kein Zauberstaub benötigt ... Sie müssen nur den richtigen Pfad registrieren. :)

+2

'aspnet_regiis -r' war nicht genug, um dieses Problem für mich zu beheben, aber' aspnet_regiis -ua' (alle ASP.net-Frameworks zu deinstallieren) und dann hat das '-r' funktioniert. Möglicherweise müssen Sie die Berechtigungen für Ihren Ordner "Temporäre ASP.NET-Dateien" jedoch nachher korrigieren. –

0

Gerade hatte dies eine Projektbereitstellung passieren. Das Ändern des Anwendungspools für die Website hat den Zweck erfüllt. fand die Antwort auf Rick Strahl's weblog

Verwandte Themen