A atualização para x64 resulta em HTTP 500

2

Eu atualizei minha máquina de desenvolvimento para o Win7 de 64 bits, e agora, quando tento me conectar a um projeto local do ASP.Net, obtenho:

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

Existem várias coisas intrigantes sobre isso; o projeto ASP.Net era um .net 2.0 ASMX, então ele estava usando C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727. Se atualizado para x64 sem me perguntar, não deveria usar C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \? Onde está C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ vindo de?

Eu abri o Gerenciador do IIS e a versão do .Net Framework selecionada para minha máquina é 2.0.50727. A versão do framework para meu pool de aplicativos padrão é a mesma.

Estou desenvolvendo no VS2008, que nem sequer tem uma opção para segmentar o .Net 4.0.

    
por Dour High Arch 28.01.2011 / 23:39

2 respostas

0

Apesar do fato de o Framework do .Net 2.0 estar instalado em minha máquina e selecionado no Gerenciador do IIS, ASPNET_REGIIS disse que ele não estava registrado:

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

Como isso é possível eu não sei. Registrar novamente o ASP.NET 2 resolveu o problema:

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

Não tem nada a ver com a atualização para o Win 7; essa foi uma perseguição selvagem.

    
por 29.01.2011 / 01:07
3

Parece-me que você tem uma parte de 32 bits do seu aplicativo e está tentando executá-lo em um pool de aplicativos de 64 bits no IIS. Por padrão, o pool de aplicativos é de 64 bits em um sistema operacional de 64 bits. Para ativar o modo de 32 bits, você precisa ir para as propriedades avançadas do pool de aplicativos e alterar a configuração para "Ativar aplicativos de 32 bits".

    
por 28.01.2011 / 23:53