"Resource not found" e como mostrar erros detalhados

Por vezes recebemos o error "Resource not found" numa aplicação .NET, mas a mensagem não diz que ficheiro é que não encontra. Neste artigo explica-se como descobrir que recurso em falta é que está a causar o problema.

Recebi este erro depois de instalar um hot fix para o SharePoint, que fez com o que o ambiente deixasse de funcionar. Consegui recuperar o SharePoint e os sites para um estado de quase funcionamento, mas depois apareceu-me este erro:

Resource not found error
Resource not found error
Server Error in '/' Application.
The resource cannot be found.

Na mensagem de erro apenas diz que um recurso está em falta, mas não diz qual. Configurei o web.config para mostrar todas as mensagens de erro (certifiquem-se que não fazem isto num ambiente de produção senão os visitantes receberão mensagens de erro detalhadas):

  • Actualizar o elemento customErrors, pondo o atributo mode em Off.
<customErrors mode="Off" />
  • Actualizar o elemento SafeMode em SharePoint, mudando CallStack e AllowPageLevelTrace para true.
<SafeMode MaxControls="200" CallStack="true" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="true">
  • Actualizar o elemento trace, mudando enabled para true.
<trace enabled="true" />
  • Actualizar o elemento compilation, mudando debug para true.
<compilation batch="false" debug="true">

Mesmo com estas definições não mostra directamente na mensagem de erro que recurso é que não encontra.

Para ver o que causa o erro é necessário ver o código fonte HTML da página. Nele está um comentário HTML que dá informação suficiente para ajudar a encontrar o recurso em falta.

No meu caso era:

Código HTML Resource not found
Código HTML Resource not found

Muitas vezes diz exactamente que ficheiro é que falta, mas desta vez não. Apesar disso, através da mensagem de erro consegui descobrir onde é que tinha que procurar.

No meu caso, resolvi o problema copiando a 12 hive de outro ambiente que estava a funcionar do mesmo projecto.

Nuno Freitas
Publicado por Nuno Freitas em 09 setembro, 2013

Artigos relacionados