500 Erro interno do servidor depois de alterar a versão do .NET Framework para 4.0 no IIS7

5

Acabei de alterar a versão do .NET Framework dos pools de aplicativos no Gerenciador do IIS7, seguindo Especifique instruções do .NET Framework Version para um Pool de Aplicativos (IIS 7) pelo Microsoft Technet. Agora, quando tento reenviar minha página ASP.NET, ele me mostra um erro de servidor interno 500. Eu tentei enviá-lo no .net 2. 0 (x86, x64, AnyCPU) e 4.0 (x86, x64, AnyCPU) e tudo dá o mesmo erro. Estes são todos os detalhes que o erro me dá: "Há um problema com o recurso que você está procurando e não pode ser exibido".

Ao manter o .NET versão 2.0 no servidor, funciona muito bem. Além disso, ao fazer o upload de index.htm , ele também funciona bem, apenas mostra a página HTML.

Isso está no Windows Server 2008 R2, a propósito.

EDITAR:

Eu finalmente descobri como obter os detalhes do erro. Aqui estão eles:
O manipulador "PageHandlerFactory-Integrated" tem um módulo ruim "ManagedPipelineHandler" em sua lista de módulos. Causas mais prováveis:

  • Manipulador gerenciado é usado; no entanto, o ASP.NET não está instalado ou não está instalado completamente.
  • Existe um erro tipográfico na configuração da lista de módulos do manipulador. Coisas que você pode experimentar:
  • Instale o ASP.NET se você estiver usando o manipulador gerenciado.
  • Assegure-se de que o nome do módulo do manipulador esteja especificado corretamente. Os nomes dos módulos fazem distinção entre maiúsculas e minúsculas e usam o formato modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"

Tenho certeza de que instalei o ASP.NET completamente.

    
por René 03.09.2010 / 18:06

4 respostas

3

Eu encontrei a solução. Aparentemente, ele não registrou minha instalação do .NET 4.0. Eu simplesmente tive que rodar este programa com parâmetros: "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i" , e consertou!

Observe que o caminho "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" pode diferir de acordo com a versão do .NET Framework instalada.
Para ver o caminho que você precisa, abra "C:\Windows\Microsoft.NET\Framework\" e veja qual é o nome das pastas e ajuste-o de acordo, assim: "C:\Windows\Microsoft.NET\Framework\<version>\aspnet_regiis.exe"

    
por 04.09.2010 / 05:34
1

Existem consoles de comando específicos para versões específicas vs. Assim, evita essa dor de cabeça de caminhos longos, pois isso já está definido no console de comando específico do vs. Vá para o diretório do programa VS e encontre o console de comando, e quando ele for aberto, basta digitar

aspnet_regiis.exe -i
    
por 30.11.2012 / 14:12
0

Você precisa se certificar de que cada aplicativo em um determinado pool de aplicativos segmente a mesma versão do .NET framework. Se você tiver versões mistas, precisará criar vários pools de aplicativos.

    
por 03.09.2010 / 18:50
0

O aplicativo não especificou qual versão do framework será executada. Claramente (neste caso) ele quer rodar como um framework 2.0. Eu criaria outro pool de aplicativos e isolaria esse aplicativo nesse pool de aplicativos. você pode atribuir uma versão da estrutura ao pool de aplicativos que seja compatível (neste caso, 2.0)

    
por 03.09.2010 / 19:00