IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Fonctionnement du #if DEBUG ?


Sujet :

C#

  1. #1
    Invité
    Invité(e)
    Par défaut Fonctionnement du #if DEBUG ?
    Bonjour,

    Je récupère un projet déjà codé et dedans il y a des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #if DEBUG
    // blablabla
    #endif
    Ma question est simple : ce qui est entre #if DEBUG et #endif est exéctué :
    - quand le projet est compilé en mode debug (c'est à dire la DLL de ce projet précis)
    - ou aussi quand le site web (par exemple) qui utilise cette DLL est compilé en mode DEBUG ? (sachant que la DLL est compilé à part et n'est pas en mode DEBUG)

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Points : 443
    Points
    443
    Par défaut
    Bonjour,

    La constante DEBUG est définie au niveau du projet et non pas au niveau de la solution. Donc si tu compile ta librarie en release le bou de code entre le #if #endif ne sera pas compris en compte lors de la compilation, et ça quelque soit le mode de ton projet qui référence ta dll.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci pour ta réponse rapide
    Comme ça c'est clair ^^

  4. #4
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    et ce lien

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ah oui, je l'ai cherché ce lien en fait ! Mais le moteur de recherche ne recherche pas "#if"... J'ai un peu du mal à trouver ce que je cherche dans les MSDN j'avoue...

    Merci

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    Bonjour,

    Je sais que ce post date, mais il correspond parfaitement à ma question.

    Dans l'exemple fourni sur le site officiel de Microsoft, ils définissent explicitement la constante DEBUG dans le source .cs .

    Or, il me semble qu'elle est définie IMPLICITEMENT, dès lors qu'on compile le projet en mode DEBUG.

    J'ai juste, j'ai faux?

    Merci d'avance pour votre réponse.

    EDIT : Je me réponds à moi-même : dans les Properties du projet, il y a une checkbox "Define DEBUG constant" cochée par défaut dans la configuration "Debug".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/05/2014, 14h24
  2. Mon code fonctionne en mode debug et pas en release
    Par teddyalbina dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 22/02/2011, 00h16
  3. global.asax ne fonctionne qu'en debug
    Par laeti dans le forum ASP.NET
    Réponses: 7
    Dernier message: 21/01/2008, 16h36
  4. global.asax ne fonctionne qu'en debug
    Par laeti dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 03/10/2007, 13h44
  5. Réponses: 12
    Dernier message: 15/02/2005, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo