Karşılaştığım sıkıntı Wpf projemde hata raporlarını görememek ve istediğim alana kaydedememek.
Çözüm için yapılması gerekenler:
1- Wpf Projemizin App.xaml dosyası açılır.
Hata ayıklamak için DispatcherUnhandledException= “UnhandledException” Application ‘ın içine eklenir (Resim 1).
Resim -1
2- Wpf Projemizin App.config dosyasına alttaki satırları ekleyerek değişkenlerimizi kod dışından da rahat değiştirmemizi sağlıyoruz. (Resim 2)
Resim - 2 <appSettings> <add key="error_file" value="errors.txt" /> <add key="stack_file" value="stack.txt" /> </appSettings>
3- Ardından App.xaml.cs açılır ve içerisine alttaki kod eklenir.
using System.Windows.Threading;
using System.IO;
using System.Configuration;// ekli değilse
“ConfigurationManager.AppSettings” çalışmaması durumunda projenin içindeki References –> Sağ Tuş –> Add reference(Reference ekleme) –> Sağ üstte bulunan arama alanına system.configuration yazılır ve ortaya çıkan sonuç tıklanılarak OK basılır
private void UnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) { var time = DateTime.Now; var path=ConfigurationManager.AppSettings["error_file"]; // kaydedilmek istenilen yer (Bende projenin içine içinde olacak şekilde ayarlı) File.AppendAllText(path, "\r\n" + string.Format("{0},{1},{2}", time, e.Exception.InnerException.Message, e.Exception.Message) + "\r\n"); //(Kaydedilecek yer , istenilecek hatalar) File.AppendAllText(ConfigurationManager.AppSettings["stack_file"], time + ":\n" + e.Exception.StackTrace + "\n"); e.Handled = false; }
4-Error.txt dosyasını açalım (Resim 4).
Resim – 4