297 votes

#if version fonctionnera comme #if DEBUG fait en c# ?

Dans tous les exemples que j’ai vu de la directive #if, ils utilisent « DEBUG ». Puis-je utiliser « Libération » de la même manière à exclure le code que je ne veux pas courir lorsqu’il est compilé en mode débogage ? Le code que je veux entourer de ce bloc envoie un tas d’e-mails, et je ne veux pas accidentellement ceux envoyons lors de l’essai.

416voto

M4N Points 48758

``n’est pas défini, mais vous pouvez utiliser

297voto

Lasse V. Karlsen Points 148037

Non, il n'est pas, sauf si vous faites un peu de travail.

L'important est ici que DÉBOGAGE est vraiment, et c'est une sorte de constante définie que le compilateur peut vérifier.

Si vous vérifiez les propriétés du projet, sous l'onglet création, vous trouverez trois choses:

  • Une zone de texte étiqueté "symboles de compilation Conditionnelle"
  • Une case à cocher indiquant "Define DEBUG constante"
  • Une case à cocher indiquant "Définir TRACE constante"

Il n'existe pas de case à cocher, ni constant/symbole pré-définis qui a le nom de la LIBÉRATION.

Cependant, vous pouvez facilement ajouter ce nom à la zone de texte étiqueté symboles de compilation Conditionnelle, mais assurez-vous de définir la configuration du projet à la Presse-mode de avant de le faire, que ces paramètres sont par configuration.

Donc, en gros, à moins que vous l'ajouter à la zone de texte, #if RELEASE ne produira aucun code en vertu de n'importe quelle configuration.


Edit: Corrigé #ifdef, #si (merci Daniel)

45voto

Pop Catalin Points 25033

Nope.

Alors que dans la configuration debug il y a un DEBUG défini constante (défini automatiquement par Visual Studio) alors qu'il n'y a pas une telle constante définie pour la libération de la mode. Vérifiez les paramètres de votre projet en vertu de construire.

Sélectionnez [Définir constante DEBUG] en vertu de l' Project -> Build est comme y compris les #define DEBUG au début de chaque fichier.

Si vous souhaitez définir une LIBÉRATION constante pour la libération de configuration, allez à:

  • Propriétés Du Projet -> Build
  • Sélectionnez Mode Release
  • dans les symboles de compilation Conditionnelle zone de texte entrez: LIBÉRATION

35voto

JaredPar Points 333733

Sur mon installation de VS (VS 2008) #if version ne fonctionne pas. Toutefois, vous pouvez simplement utiliser ! DÉBOGAGE

Exemple :

10voto

Gus Points 1193

Je n’ai jamais vu ça avant... mais j’ai vu :

et

Cela fonctionne pour toi ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X