2013-10-09 3 views
8

Ich möchte die DataBinding-Fehler in eine Datei protokollieren. ich verwenden, um die Lösung in dieser akzeptiert anwser präsentiert:Turn WPF Binding Fehler in Laufzeit Ausnahme. Ich arbeite nicht an der veröffentlichten App

How can I turn binding errors into runtime exceptions?

ich dies auch versucht: http://msdn.microsoft.com/en-us/library/system.diagnostics.presentationtracesources.aspx

Das Problem ist, dass es funktioniert nur, wenn in dem VS-IDE ausgeführt wird. Wenn ich die App veröffentliche, sind die Fehler nicht erlaubt.

Weiß jemand, wie man die WPF Bindind Fehler erhält und in der programmierten Anwendung während der Laufzeit in eine Datei speichert?

+1

Warum sollten Sie so etwas wollen? Ich meine, bindende Fehler zu fangen ist eine gute Sache, wenn man sie entwickelt, aber sobald ihre Anwendung implementiert ist ... haben Sie Angst, dass Ihre Kunden Reverse Engineering auf Ihrer App durchführen und Binding-Fehler implantieren? –

+1

Ich stimme zu, dass keine Fehler auf der veröffentlichten Anwendung existieren sollte, ich weiß, aber die Anwendung ist nicht klein, und ich weiß nicht, wo der Fehler ist, so dass ich denke, dass einige Fehler auf der veröffentlichten App zu Datei helfen würde. – Tony

+0

Ich stimme den anderen Kommentaren zu. In der Regel ist es umgekehrt, in einer Entwicklungsumgebung funktionieren die Dinge großartig, und dann scheitern sie aus irgendeinem Grund. Dies ist ein nettes Feature IMHO. –

Antwort

4

Ich verwendete eine Technik, die der in der ersten von Ihnen angegebenen Verbindung ähnelt. Es kann durch die folgenden Schritte wieder aufgenommen werden:

  1. ein TraceListener Leite, die anstelle der Protokollierung
  2. Fügen Sie Ihre Zuhörer PresentationTraceSources.DataBindingSource

ich mit .NET Framework 4.0 wirft, getestet 4.5 und 4.5.1 ; Es funktioniert sowohl bei den Konfigurationen Debug als auch Release.

Bitte überprüfen Sie die complete solution I pushed on GitHub, enthält es eine Demo-Anwendung und ein Unit-Test-Projekt.

Exception in Visual Studio