mercredi 19 mars 2008

WSS / MOSS : Une erreur inattendue s'est produite

Si vous avez développé des webparts, ou même effectué un peu de
personnalisation sur votre site WSS 3.0, vous avez peut-être rencontré
cette erreur des plus agaçante :
"Une erreur inattendue s'est produite" , (par exemple dans mon cas, sur la
page DispForm.aspx d'une simple liste) puis une proposition pour désactiver
certaines webparts de la page, celles-qui pourraient poser problème. Le
problème, c'est qu'il n'y a aucune indication sur la nature de l'erreur, ni
trace...

Or MOSS / WSS 3.0, c'est de l'ASP.NET, et les développeurs ASP.NET savent
qu'il est possible de masquer ou d'activer les messages d'erreur +la trace
à l'affichage.
>> Ca se passe bien sûr au niveau du fichier web.config. Il faut changer :

<SafeMode MaxControls="200" CallStack="false"
AllowPageLevelTrace="false"....
en
<SafeMode MaxControls="200" CallStack="true" AllowPageLevelTrace="false"…

et désactiver les erreurs personnalisées en mettant "Off" :

<customErrors mode="On"/>
à remplacer par
<customErrors mode="Off"/>

Une fois modifié, enregistrer le fichier web.config. (Attention, cela
provoque un recyclage du pool d'application, et déconnectera les éventuels
utilisateurs courants.)
Lors du prochain appel à la page, le message d'erreur devient une page
classique ASP.NET, et c'est nettement plus parlant pour débugger !