Hallo zusammen,
ich habe ein Problem bezüglich Debug.Liseners! Aus einer meiner TestAssemblies wird ein neuer Prozess gestartet der dann auch getestet wird. Dieser externe Assembly feuert ihrerseits ein paar Assertions via Debug.Assert(). Ich möchte diese Assertions für diesen externen Prozess abschalten.
Daher im eigenen Prozess kann ich einfach via
System.Diagnostics.Debug.Listeners.Remove("Default");
den Lisenser removen. Aber das gilt dann nur für meinen eigenen Prozess. Die Assertions des externen Prozesses kommen weiterhin. Gibt es eine Möglichkeit über irgendeine Schnittstelle die Assertions des anderen Prozesses zu deaktivieren?
Danke im voraus!
Again what learned...
Hallo,
wenn es wirklich ein "anderer Prozess" ist kann der Listener auch über die app.config entfernt werden.
Falls keine app.config vorhanden ist weiß ich nicht ob das nachträglich auch erkannt ist, aber probiers mal.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Ich habe es jetzt folgendermaßen gelöst. In das Verzeichnis wo die Assembly des externen Prozesses liegt habe ich eine config zur Laufzeit (vor dem starten des Prozesses) gelegt. Diese enthält folgenden Key.
<configuration>
<system.diagnostics>
<assert assertuienabled="false"/>
</system.diagnostics>
</configuration>
Siehe auch hier.
Laut den ersten Tests scheint es zu funktionieren!
Again what learned...