带有 Savefiledialog 的 *** 异常
Posted
技术标签:
【中文标题】带有 Savefiledialog 的 *** 异常【英文标题】:*** exception with Savefiledialog 【发布时间】:2015-09-16 08:44:01 【问题描述】:在WinForms
应用程序中借助SaveFileDialog
保存xml 文件时,我收到***
异常。代码没什么特别的:
DialogResult result = saveFileDialog.ShowDialog();
if (result == DialogResult.OK)
txtOutputFile.Text = saveFileDialog.FileName;
// do something
它在ShowDialog()
中立即失败。
只有在输入文件名后在对话框中按 Enter 时才会收到它。如果我用鼠标按保存,一切正常。
我在 Windows 7 机器上收到此异常,在 Windows 10 上尝试过 - 一切正常。有什么想法吗?
更新:很抱歉,我现在无法在我使用了几天的机器上重现此问题(在同一个程序中,没有任何相关更改)。
【问题讨论】:
这段代码在哪里?你能在一个简短但完整的程序中重现这个吗? 我会尝试提取相关代码并更新我的帖子 什么时候显示对话框?在事件处理程序中?如果是,事件是什么?异常的堆栈跟踪是什么? 我在browseButton_Click中显示它,用户按下...按钮并显示对话框。稍后也会发布堆栈跟踪 您的程序将受到外壳扩展。当您使用 OpenFileDialog 和 SaveFileDialog 等 shell 对话框时加载到您的进程中的 DLL。如果你有一个很糟糕的代码注入,它当然可以注入一个 SOE 并终止进程。当您启用非托管代码调试时,您可以看到它们正在加载。使用 SysInternals 的 AutoRuns 清理您的机器。 【参考方案1】:我发现这个帖子试图找到解决同一问题的方法。
我能够解决我在构建配置管理器中针对特定架构的问题。
确保配置设置为x86
或x64
而不是Any CPU
。
【讨论】:
以上是关于带有 Savefiledialog 的 *** 异常的主要内容,如果未能解决你的问题,请参考以下文章
SaveFileDialog 在调用 showDialog() 后直接自动关闭