11
votes

Séparer le débogage et la libération du code C #

J'écris une application dans laquelle j'ai du code de débogage que je ne souhaite pas supprimer, mais je souhaite que cela soit modifié ou supprimé lors de la compilation de la publication / de publication. Par exemple, je voudrais quelque chose comme celui-ci dans une construction de débogage: xxx

... pour devenir ceci dans une version de libération: xxx

Idéalement, j'espérais faire quelque chose comme ceci: xxx

Je préférerais ne pas avoir à ajouter / supprimer un symbole de compilation conditionnelle dans le Propriétés du projet Chaque fois que je change le type de construction; Cela devrait arriver automatiquement. Existe-t-il un moyen de le faire dans Microsoft Visual C # 2008 Express Edition? Merci.


0 commentaires

5 Réponses :


15
votes

Utilisation:

#if DEBUG
  // Debug work here
#else
  // Release work here
#endif


0 commentaires

0
votes

Vous pouvez écrire une méthode d'extension contenant le conditionnel afin que vous n'ayez pas besoin de le conserver à chaque fois xxx

ce serait comment j'irais

Et puis votre ligne de code serait xxx

et débogage doit être définie déjà


1 commentaires

Ow. Cela ressemble à un abus de méthodes d'extension pour moi.



1
votes

Il y a une classe que vous pouvez utiliser pour écrire vos déclarations de débogage Espace de noms: System.Diagnostics Debug.assert est ce que vous voulez utiliser

http://msdn.microsoft.com /en-us/library/system.diagnostiques.debug.assert.aspx

Regardez également la classe de débogage pour tous les débogage: http://msdn.microsoft.com/en-us/library/6x31ezs1. ASPX


2 commentaires

Qu'est-ce que Debug.assert a à voir avec la question?


Pour montrer des messages, ce n'est pas que s'il met le code pour le débogage, les affirmations pourraient être plus utiles, puis illustrent une boîte de message. Je montrent des options plus avancées que vous pouvez utiliser



0
votes

Je ne sais pas si les éditions Express ont ceci, mais Visual Studio a déjà ceci déjà intégré pour vous en C #.

Dans votre barre d'outils, vous avez sûrement la liste déroulante qui vous permet de choisir entre débogage et Release Build, la construction de débogage définit le symbole de débogage afin que vous puissiez utiliser: xxx


0 commentaires

14
votes

Vous pouvez également utiliser cet attribut.

[Conditional("DEBUG")]


0 commentaires