【发布时间】:2011-11-28 00:18:24
【问题描述】:
我在同一个办公室的多台机器上部署了一个 WinForms 应用程序。直到本周一,办公室里的所有用户都毫无问题地使用了该应用程序,并使用 OpenFileDialog 来选择要导入的文件。一台机器对其他应用程序进行了大量更新,现在当我们的应用程序尝试显示 OpenFileDialog 时冻结。它显示 OpenFolderDialog 很好;虽然我没有尝试 SaveFileDialog。重复一遍,它上周工作,我们的应用程序没有更新,但本周它在一台机器上冻结,而它在办公室的所有其他机器上工作。
有问题的机器安装了另一个 .NET 应用程序,我验证 OpenFileDialog 在另一个应用程序中打开时没有问题。
关于为什么 OpenFileDialog 会在一台机器上冻结的任何想法?有想法该怎么解决这个吗?我们可以在不知道原因的情况下尝试重新安装,但我认为最好调查原因以防止它再次发生。
【问题讨论】:
-
您是否尝试过等待它解冻?它可能正在尝试读取不再可用的网络资源。
-
@HansPassant 原因绝对不是程序性的,例如父级没有句柄并且 Main 方法不是 STAThread,因为它上周工作。我质疑它是 AutoRuns 还是系统范围的,因为另一个 .NET 应用程序使用 OpenFileDialog 没有问题。
-
@Jacob:我们没有等太久应用程序解冻。如果它以前使用过,它会尝试从 RestoreDirectory 属性中读取不存在的网络资源吗?是否会在系统范围内导致使用 OpenFileDialog 的其他 .NET 应用程序遇到同样的问题?
-
您在链接副本中阅读我的答案了吗?应该表明这不是你犯的错误。
标签: c# winforms .net-3.5 openfiledialog