2012-11-01 1 views
1

Lors du développement, je comprends pourquoi les fichiers PDB sont construits. Mais lorsque je déploie mon site Web pour le serveur de production, les fichiers PDB existent toujours. Je ne comprends pas pourquoi.Fichiers PDB du serveur de production ASP.NET

Dois-je les supprimer dans un environnement de production ou de les laisser

+0

Consultez cette question http://stackoverflow.com/questions/608002/do-you-have-to-deploy-the-pdb-file-with-compiling-under-release –

Répondre

6

Les fichiers PDB permettent aux traces de pile de votre code d'être enregistrées lorsque votre application génère une exception non gérée.

Si votre site Web a CustomErrors dans le web.config la valeur OFF alors votre code d'erreur sera visible par tout le monde. C'est mauvais.

Si votre site CustomErrors dans le web.config réglé sur ON ou RemoteOnly alors votre code erroring ne sera pas visible au public, mais vous serez en mesure de trouver le StackTrace dans le serveur du journal des événements et cela peut vous aider pour repérer les erreurs dans votre code. C'est acceptable. Si vous supprimez les PDB (ou si vous arrêtez la publication via la configuration de création/publication de votre projet), votre site n'enregistrera pas votre code dans votre trace de pile, mais il enregistrera d'autres informations de pile. Dans tous les cas, définissez toujours CustomErrors dans le fichier web.config sur ON ou RemoteOnly. Toujours le faire.

+1

Les exceptions contiendront une trace de pile dans les deux cas, mais avec les fichiers PDB, elles contiendront également des numéros de ligne. http://stackoverflow.com/questions/381537/deploying-pdb-files-in-iis-any-benefit?rq=1 – Robert

0

PDB pour le débogage, mais vous pouvez les laisser sur le serveur de production. Rien de mauvais ne se produira

1

Vous pouvez les supprimer en toute sécurité. Ils sont utilisés à des fins de débogage et de source de code.

Si vous ne voulez pas les fichiers pdb à déployer ensuite dans les paramètres du projet (clic droit sur le projet et choisissez Propriétés> Construire):

Vous pouvez choisir le Configuration: que vous utilisez pour le déploiement (par exemple Release), puis dans la section Output, appuyez sur la Advanced.. -pour ouvrir la avancée Créer des paramètres et mis Debug Info: à none (en général il est pdb-only en mode Release).

Ensuite, chaque fois que vous déployez en mode Release, les fichiers pdb ne seront pas générés.

+0

donc, le fichier PDB n'est pas nessecory ? et nous ne devons pas les mettre à jour dans le serveur chaque fois que nous mettons à jour le fichier DLL? : -? – Reza

+0

@Reza Correct. Le code fonctionnera toujours. Je les supprime généralement et ne les ajoute que si j'ai besoin de déboguer le serveur de production =) –

Questions connexes