Como debugar erros em Page Layouts do Sharepoint 2010

O cenário

Toda vez que o ocorre uma exception em uma aplicação Sharepoint, vemos uma tela bonitinha, mas que não diz nada de útil, como essa:

SharepointError

O que nós queremos é ver a yellow screen of death, e já sabemos como fazer isso, mas vamos revisar.

Abra o web.config da sua aplicação que geralmente estará em  c:\inetpub\wwwroot\wss\virtualdirectories\<Nome e Porta da Sua Aplicação>

Procure o código

<compliation batch="false" debug="false">

e troque para

<compliation batch=”false” debug=”true

<compliation batch="false" debug="true">

Procure o código

SafeMode MaxControls="200" CallStack="false"... 

troque para

SafeMode MaxControls="200" CallStack="true"... 

Procure o código

customErrors mode="On" 

troque para

customErrors mode="Off" 

Pronto, agora você já vê a exception, call stack, e os detalhes do erro.

O Problema

Você vai perceber que se o erro for em uma Page Layout você ainda continuará a ver a tela bonitinha que não diz nada, ou a Yellow Screen of Death sem informações relevantes, como essa:</

Sharepoint Custom Erro

Isso ocorre porque os Page Layouts ficam no diretório _Layouts que tem seu próprio web.config

A solução

Abra o web.config que esta em&nbsp;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\Web.config

Procure o código

customErrors mode="On" 

troque para

customErrors mode="Off" 

Agora você deverá ver aquela tela de erro feia, mas que tem alguma informação útil

sharepoint exception handling02