2013-04-18 3 views
5

Ich debuggen eine WPF-Anwendung, die bei dem Starten mit einer nicht behandelten System.IO.FileLoadException abstürzt.Ursachen von System.IO.FileLoadException in OnStartup von WPF-Anwendung

Ich habe die Assembly Binding Log Viewer verwendet, um zu überprüfen, dass keine Fehler beim Laden der Baugruppe auftreten und der gesamte Code in der OnStartup-Überschreibung in einen try-catch-Code eingeschlossen ist.

Nachdem die Assembly-Bindung als Ursache der Exception ausgeschlossen wurde, welche anderen möglichen Ursachen sollte ich untersuchen?

Im Folgenden sind die relevanten Ereignisprotokolleinträge:


Der erste Fehler mit Quelle "Application"

Faulting application name: CompanyProductManager.exe, version: 4.2.0.0, time stamp: 0x514a20ba 
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18015, time stamp: 0x50b8479b 
Exception code: 0xe0434352 
Fault offset: 0x0000000000009e5d 
Faulting process id: 0xf18 
Faulting application start time: 0x01ce3c6ce70ee3f8 
Faulting application path: C:\Users\My_User\AppData\Local\Apps\2.0\VJ12169A.3AG\6445EVK6.26Y\wmsd..tion_9fb3931a66281a0b_0004.0000_68586becb8f48f17\CompanyProductManager.exe 
Faulting module path: C:\Windows\system32\KERNELBASE.dll 
Report Id: 2588c97b-a860-11e2-be7c-3cd92b4a0af4 

Der zweite Fehler mit Quelle“.NET Laufzeit "

Application: CompanyProductManager.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.IO.FileLoadException 
Stack: 
    at CompanySI.CompanyProduct.CompanyProductManager.App.OnStartup(System.Windows.StartupEventArgs) 
    at System.Windows.Application.<.ctor>b__1(System.Object) 
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) 
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) 
    at System.Windows.Threading.DispatcherOperation.InvokeImpl() 
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 
    at System.Windows.Threading.DispatcherOperation.Invoke() 
    at System.Windows.Threading.Dispatcher.ProcessQueue() 
    at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 
    at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) 
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) 
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) 
    at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) 
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) 
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) 
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) 
    at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) 
    at System.Windows.Application.RunInternal(System.Windows.Window) 
    at System.Windows.Application.Run() 
    at CompanySI.CompanyProduct.CompanyProductManager.App.Main() 
+0

Ich hatte einen ähnlichen Fehler wie Ihre erste "ApplicationError". Die folgende Antwort half mir, mein Problem zu lösen. Daher musste ich das Überspringen von Überprüfungen aktivieren, da meine Assemblys nur mit einem öffentlichen Schlüssel signiert wurden und die Verzögerung später signiert wurde. – donttellya

+0

Sieht ähnlich aus. http://stackoverflow.com/questions/7450634/system-io-fileloadexception-when-running-c-sharp-program-on-a-different-computer – Mick

+0

und diese ... http://community.sharpdevelop.net/forums/t/21717.aspx ..got eine korrupte Festplatte oder ssd? – Mick

Antwort

0

Nur eine Vermutung, aber ich habe eine korrupte user.config-Datei gesehen, die so etwas mit einer anderen Anwendung machen. Das war eine Weile zurück und ich erinnere mich nicht genau, was die Ausnahme war, die geworfen wurde. Überprüfen Sie, ob Sie eines im AppData-Verzeichnis (oder anderswo) haben und entfernen Sie es.

+0

Danke, aber das hat das Problem nicht behoben. – dmck

2

Das Laden einer verzögerten signierten Baugruppe auf einer Maschine, auf der die Überspringung der Überprüfung nicht aktiviert wurde, kann einen ähnlichen Fehler verursachen.