Wir haben eine .net 3.5 SP1-Anwendung und einer unserer Benutzer kann das Programm nicht ausführen. Sie erhalten den Windows-Dialog: "X funktioniert nicht mehr. Ein Problem hat dazu geführt, dass das Programm nicht mehr richtig funktioniert ...".
Angenommen, das .net Framework und das Programm sind korrekt installiert, was könnte das Programm sonst davon abhalten, auf einem PC ausgeführt zu werden, auf dem andere Software ausgeführt werden kann?
Update: Ich habe .Net mithilfe der MSI-Reparatur repariert und es zeigte immer noch dasselbe Verhalten. Paint.Net wurde heruntergeladen, um sicherzustellen, dass es nicht nur meine Software ist und dasselbe passiert ist. Die Maschine war ein 4 Monate alter Dell-Laptop, daher habe ich unseren Kunden gebeten, den Dell-Support zu testen. Es schien ihnen egal zu sein, dass es keine .Net-App (wtf?!?!) Ausführen würde und System-Rollbacks nichts taten. Die Person musste die Dell-Wiederherstellungsdiskette ausführen, um das Problem am Ende zu lösen!
quelle
Antworten:
Die Laufzeitumgebung hängt normalerweise einen Standardausnahmehandler ein, der die Ausnahmemeldung im Ereignisprotokoll protokolliert oder für den Benutzer veröffentlicht (wenn sie für den Debug-Modus kompiliert wurde und WinForms verwendet). Es gibt einige seltene Fälle, in denen keine ordnungsgemäße Ausnahmemeldung angezeigt wird, z. B. wenn eine BadImageFormatException (beschädigte ausführbare Datei), eine StrongNameExcpetion oder eine StackoverflowException auftritt.
Am besten starten Sie den Prozess in einem Debugger (CorDbg ist in Ordnung, oder VisualStudio, wenn Sie es installiert haben).
Anderenfalls überprüfen Sie das Ereignisprotokoll. Wenn dies nicht hilft, verwenden Sie DebugView (es kann keine Verknüpfung hergestellt werden, aber es ist der erste Treffer auf Google), um die Debug-Ausgabe des Absturzprozesses abzurufen.
quelle