Entwickler-Ecke

Sonstiges (.NET) - Code nur im Debug-Modus kompilieren


Oliver M. - Sa 09.07.11 19:49
Titel: Code nur im Debug-Modus kompilieren
Ich habe ein Stück Code (C-Sharp) das nur im Programm sein soll, wenn ich Debug ausgewählt habe, nicht aber wenn ich Release ausgewählt habe.

Also folgendes habe ich schon mal herausgefunden:

C#-Quelltext
1:
2:
3:
#if ???
Code
#endif

Aber was muss bei ??? hin?

Ich hoffe ihr könnt mir helfen,
Oliver


Flitzs - Sa 09.07.11 20:10

Das kommt darauf an, was vorher definiert wurde. Du kannst VS so einstellen, dass es die DEBUG-Konstante selbst definiert (Projekt => <Name>-Eigenschaften => Erstellen).

lg Flitzs


Christian S. - Sa 09.07.11 20:14

Ist AFAIK sogar standardmäßig so eingestellt: Im Debug-Modus ist die DEBUG-Konstante definiert.


Oliver M. - Sa 09.07.11 20:16

Ne, das ist nicht was ich meine:

Ich habe eine MessageBox, die mir Informationen über das laufende Programm giebt, die zum Debugen notwendig sind. Doch im Release soll man diese MessageBox nicht sehen.

Man kann dem Kompiler sagen, dass er den Code nur mitkompileren soll, wenn die Bedingung stimmt:

C#-Quelltext
1:
2:
3:
#if a == b
messageBox.Show();
#endif


Doch was muss ich als Bedingung angeben???

Ich hoffe ihr versteht mich,
Oliver


Christian S. - Sa 09.07.11 20:17


C#-Quelltext
1:
2:
3:
#if DEBUG
messageBox.Show();
#endif


Oliver M. - Sa 09.07.11 20:22

:think:
Ah, das macht Sinn...
Danke
Oliver


gfoidl - Sa 09.07.11 22:03

Hallo,

schau dir in diesem Zusammenhang auch das ConditionalAttribute [http://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute(v=VS.100).aspx] an.

mfG Gü