我正在使用Visual Studio Community 2015,并且最近在使用OpenFileDialog
控件时遇到了问题。我可以在程序上运行两到三次调试会话并使用messagebox
而不会出现问题。之后,每当我关闭主窗体时,调试器都不会终止。单击“停止调试”按钮大约20秒无效,然后我得到Autoruns.exe
:
调试器无法终止一个或多个进程。
[9408] ..... vshost.exe:访问被拒绝。
调试器现在可能不稳定。建议您保存所有文件并退出。
关闭此框后,系统会再次挂起一段时间,然后返回代码编辑器。
在立即窗口中是消息:
WindowsApplication1.exe中的0x752F3E28(KernelBase.dll)抛出异常:0x000006BA:RPC服务器不可用。
在“诊断中心”下的输出窗口中显示消息:
>'StandardClientTransportConnection.SendCustomMessage'检测到无效操作。
在有类似问题的帖子中提供建议后,我使用unrecognized selector sent to instance
来禁用所有资源管理器扩展程序。这还没有解决问题。
有人对如何诊断此问题有任何建议吗?
答案 0 :(得分:0)
我现在很满意这个问题是由反病毒产品和VS调试器之间的不兼容引起的。这可能是纯粹的巧合,但是存在另一个名为“Device Monitoring Studio”的产品,它记录了一个接口/方法“IConnection.SendCustomMessage”,所以也许这个和AV产品在某种程度上是相关的。
答案 1 :(得分:-1)
您可以尝试在运行时创建OpenFileDialog。使用块时,对象将自动处理。与表单上的持久控件相比,这可以更好地清理其资源。
Using ofd As New OpenFileDialog()
ofd.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then
' user chose a file
Else
' user canceled out
End If
End Using ' the ofd object is disposed