CsharpUser schrieb:
> Guten Morgen,
>
> meine C# Applikation möchte ich um eine Debug-Ausgabe erweitern. Diese
> Ausgabe soll allerdings nur dann aktiviert sein, sobald der Anwender
> bzw. Entwickler von außen eine Maßnahme durchführt. Ist sowas in C#
> möglich? Und wenn ja wie würde dies funktionieren? Die Debug-Ausgabe
> funktioniert im folgenden ja so:
>
>
1 | > Debug.WriteLine("Debug-Ausgabe");
|
2 | >
|
>
> (Meine Applikation ist bereits im Release Modus ubersetzt.)
Mit Debug.irgendwas nicht mehr, da die alle das ConditionalAttribute
gesetzt haben d.h. ist DEBUG nicht mehr definiert, werden die
Debug.irgendwas Aufrufe nicht mehr mit übersetzt.
Aber es gibt die Funktionen auch noch mal als Trace.irgendwas.
Sowohl Debug als auch Trace haben die gemeinsame Eigenschaft Listeners
wo eigene Listener eingehangen werden können, die die Ausgaben dann
irgendwo hinschreiben, übertragen etc.
Fertige Listener gibt's im Framework
https://msdn.microsoft.com/de-de/library/system.diagnostics.textwritertracelistener%28v=vs.110%29.aspx
Und den DefaultTraceListener kann man entfernen
Trace.Listeners.Remove(DefaultTraceListener) und durch was passenderes
ersetzen
https://msdn.microsoft.com/de-de/library/system.diagnostics.debug.listeners%28v=vs.110%29.aspx
Fehlt nur noch, dass beim Übersetzen jetzt TRACE definiert sein muss,
sonst fallen die Trace.irgendwas-Aufrufe wieder raus...