Назад | Перейти на главную страницу

Обновление до x64 приводит к HTTP 500

Я обновил свою машину разработки до 64-битной Win7, и теперь, когда я пытаюсь подключиться к локальному проекту ASP.Net, я получаю:

Ошибка HTTP 500 ... Не удалось вызвать LoadLibraryEx в фильтре ISAPI "C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_filter.dll"

В этом есть несколько загадок; проект ASP.Net был .Net 2.0 ASMX, поэтому он использовал C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727. Если он обновился до x64, не спрашивая меня, не следует ли использовать C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \? Откуда взялся C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \?

Я открыл диспетчер IIS и выбрал версию .Net Framework для моей машины 2.0.50727. Версия платформы для моего пула приложений по умолчанию такая же.

Я разрабатываю VS2008, в котором даже нет возможности нацеливать .Net 4.0.

Мне кажется, что у вас есть 32-битная часть вашего приложения, и вы пытаетесь запустить ее в 64-битном пуле приложений в IIS. По умолчанию пул приложений 64-битный в 64-битной ОС. Чтобы включить 32-битный режим, вам необходимо перейти к дополнительным свойствам пула приложений и изменить настройку «Включить 32-битные приложения».

Несмотря на то, что .Net 2.0 Framework была установлена ​​на моем компьютере и выбрана в диспетчере IIS, ASPNET_REGIIS сказал, что не зарегистрирован:

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

Как это возможно, я не знаю. Повторная регистрация ASP.NET 2 устранила проблему:

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

Это не имело ничего общего с обновлением до Win 7; это была охота на диких гусей.