Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I upgraded my development machine to 64-bit Win7, and now when I try to connect to a local ASP.Net project I get:

HTTP Error 500 ... Calling LoadLibraryEx on ISAPI filter "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" failed

There are several puzzling things about this; the ASP.Net project was a .Net 2.0 ASMX so it was using C:\Windows\Microsoft.NET\Framework\v2.0.50727. If it updated to x64 without asking me, should it not use C:\Windows\Microsoft.NET\Framework64\v2.0.50727\? Where is C:\Windows\Microsoft.NET\Framework\v4.0.30319\ coming from?

I opened IIS Manager and the selected .Net Framework version for my machine is 2.0.50727. Framework version for my default application pool is the same.

I am developing in VS2008, which does not even have an option for targeting .Net 4.0.

share|improve this question
add comment

2 Answers

up vote 0 down vote accepted

Despite the fact the .Net 2.0 Framework was installed on my machine, and selected in IIS Manager, ASPNET_REGIIS said it was not registered:

cd C:\Windows\Microsoft.NET\Framework\v2.0.50727

aspnet_regiis -lv
    4.0.30319.0 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
    4.0.30319.0 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

How this is possible I do not know. Re-registering ASP.NET 2 fixed the problem:

aspnet_regiis -i
    Finished installing ASP.NET (2.0.50727)

aspnet_regiis -lv
    2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
    4.0.30319.0 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
    2.0.50727.0 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
    4.0.30319.0 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

It had nothing to do with the new machine being 64-bit, this was a wild-goose chase.

share|improve this answer
add comment

It sounds to me like you have a 32 bit part of your application, and your trying to run it in a 64bit application pool in IIS. By default the application pool is 64bit on a 64bit OS. To enable 32bit mode you need to go to the advanced properties of the application pool and change the setting for "Enable 32 Bit Applications".

enter image description here

share|improve this answer
    
Good idea, but enabling 32-bit has no effect. The app is supposed to be 64-bit-safe. Even debug statements in the global.asax are not output. –  Dour High Arch Jan 28 '11 at 23:18
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.