SaveFileDialog在Windows XP上静默崩溃WinForms应用程序

时间:2011-08-24 13:15:33

标签: .net winforms c#-4.0 windows-xp showdialog

我正在使用C#,.NET 4.0和DevExpress组件开发WinForms应用程序。

在Windows 7上,一切正常。

在Windows XP SP3上, 显示并关闭SaveFileDialog几秒钟后,应用程序将以静默方式退出。

没有未处理的异常,应用程序退出事件不会触发,我只在Visual Studio输出窗口中收到消息:

The program '[3164] MyApp.vshost.exe: Managed (v4.0.30319)' has exited with code 0 (0x0).

导致此问题的代码非常简单:

saveFileDialog1.ShowDialog();

你有什么想法为什么会这样?我该如何排除故障并解决此问题?

2 个答案:

答案 0 :(得分:1)

在项目属性窗口中启用非托管调试。 并确保将Visual Studio设置为中断所有异常(请检查Debug \ Exceptions菜单中的“Throw”选项)。

然后再次运行您的应用程序。 VS现在应该打破异常 - 它应该是一个shell扩展或文件处理程序,导致你的应用程序失败。

答案 1 :(得分:0)

您可以尝试在新的主题中调用SaveFileDialog,并告诉我们它是否有效。

您可以拥有A first chance exception of type 'System.Threading.ThreadAbortException' occurred in System.Windows.Forms.dll,这会导致您的应用程序崩溃。

我认为这是因为当前的Thread不适合运行SaveFileDialog

建议:检查您是否正在处理线程(为了纠正某些线程),并尝试启动新线程以启动所需的文件对话框。