【问题标题】:SaveFileDialog silently crashes WinForms app on WindowsXPSaveFileDialog 在 Windows XP 上静默地使 WinForms 应用程序崩溃
【发布时间】:2011-11-02 19:30:07
【问题描述】:

我正在使用 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();

您知道为什么会这样吗?我该如何解决和解决这个问题?

【问题讨论】:

  • 不幸的是,它是空的。通常会记录 .NET 未经处理的异常,但那里什么都没有 :(
  • 您必须显示重现此内容的代码。仅显示和关闭保存对话框不会退出应用程序。

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


【解决方案1】:

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

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

我认为这是因为当前线程不适合运行SaveFileDialog

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 谢谢你的回答,但没有发现异常:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 2020-06-26
    • 2011-11-07
    • 2012-04-26
    • 2012-07-17
    • 2010-12-07
    相关资源
    最近更新 更多