Diagnosticando “O módulo especificado não pôde ser encontrado” no IIS7 com ASP.Net

1

Estou migrando alguns aplicativos da web de um servidor windows 2003 com o servidor IIS6 para um servidor Windows 2008 2008 R2 com o IIS7.

Um dos aplicativos, que é executado no asp.net v2.0 usando a autenticação de formulários, não será carregado.

Isso me dá o seguinte erro ...

The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Agora entendo perfeitamente que o aplicativo não pode carregar algum tipo de recurso devido a uma FileNotFoundException, mas estou com dificuldades para diagnosticar exatamente onde o aplicativo está acontecendo, pois ele não me diz qual é o módulo nem qual arquivo está procurando.

Eu ativei o rastreamento de solicitação com falha e recebo um rastreamento de solicitação completo, mas não consigo encontrar nada que me dê detalhes sobre esse erro específico ou o módulo envolvido.

Aqui está um log (e a folha xsl) de uma solicitação com falha ...

Arquivo de log XML

Folha de estilo XSL para o arquivo de log

Faça o download para a sua máquina e abra o arquivo xml.

Qualquer conselho sobre o diagnóstico da causa raiz do problema seria muito apreciado.

    
por Baldy 31.03.2012 / 10:03

1 resposta

1

Eu já vi isso acontecer antes, onde um assembly gerenciado referenciado está presente na máquina anterior (como no GAC ou registrado em outro local), mas não está presente na nova máquina.

Se você puder identificar os conjuntos gerenciados ausentes, uma abordagem pode ser configurá-los para "copiar local" para que eles sejam "implantados em bin" na pasta bin da aplicação.

Você pode tentar executar o Monitor de processo da SysInternals para identificar o conjunto ausente.

Também houve algumas ocorrências em que os assemblies nativos estavam ausentes da pasta% systemroot% \ system32, como msvcr71.dll.

link

link

    
por 31.03.2012 / 16:02