Bei der Verwendung von C#und .NET Framework 4, um eine neue Windows -Formulationsanwendung in VS2010 zu erstellen, stießen die Benutzer auf ein ungewöhnliches Verhalten über unverarbeitete Anomalien. Nach dem Hinzufügen eines bestimmten Codes zum Verarbeitungsprogramm von Form1_LOAD wird erwartet, dass die unfare ungewöhnliche Nachricht in einer bestimmten Zeile nicht angezeigt wird. Im Gegenteil, die Codeausführung hat keinen Fehler und die Anwendung wird weiterhin ausgeführt.
Dieses spezielle Verhalten wird der Methode der Interaktion mit 64 -Bit -Windows 7 durch die WOW64 -Analogschicht zugeschrieben. Das Problem ist, dass diese Schicht die Abnormalität des Codes abfängt, der durch die vom Fenstermanager 64 -Bit -Fenster erzeugte Benachrichtigung generiert wird. Infolgedessen konnte der Debugger die Ausnahme nicht identifizieren und eingeben.
Um dieses Problem zu lösen, wurden mehrere Lösungen vorgeschlagen:
Legen Sie das Plattformziel als AnyCPU fest und stornieren Sie das ausgewählte "Bevorzugt 32 -bit"
Diese Methode hat die Anwendung in den 64 -Bit -Prozess geändert und die WOW64 -Simulationsschicht und die damit verbundenen abnormalen Probleme beseitigt. Es kann sich jedoch auf die Funktion "Bearbeitung und Fortsetzung" auswirken, und es ist möglicherweise nicht möglich, sich auf den 32 -Bit -Code zu verlassen.Andere Lösungen
In "Debug" & GT;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)
revaluieren Sie die Notwendigkeit von Code im Last -Ereignisverarbeitungsprogramm und erwägen Sie, ein alternatives Ereignisverarbeitungsprogramm oder einen Konstruktor zu verwenden, um den geeigneten Code zu platzieren. Das obige ist der detaillierte Inhalt vonWarum zeigt VS2010 nicht unangebracht ausnahmenden Nachrichten in 64-Bit-WinForms-Apps?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!