c# - 主窗口关闭时应用程序不会退出

标签 c# .net wpf multithreading

我一直遇到这个问题,解决它,然后当我实现新代码时它又回来了。这让我发疯!

我最终发现,如果您实例化任何类型的窗口,即使您从未调用 Show() 或 ShowDialog(),当您关闭应用程序时,它也不会终止。因此,现在我确保在适当的时候调用 Close(),并且我创建的所有 Windows 都不会再出现该问题。

我已经实现了更多不创建窗口的新功能(据我所知!),但现在我的应用程序不会再次终止。我认为在 VS IDE 中点击暂停是没有用的,因为线程没有任何上下文,所以我无法弄清楚是什么代码导致了挂起。

通常情况下,我预计在后台执行但未退出(并且未设置为后台线程)的线程会导致此行为,但此时我不会创建任何线程。

任何人都可以推荐一个好工具(免费或需要许可证)来帮助我快速解决这些愚蠢的问题吗?现在,我要返回,注释掉大量新代码,然后逐行取消注释,直到问题再次出现。我通常会用蛮力来解决这些问题,并且非常感谢有一个工具可以让我的生活更轻松。 :)

最佳答案

听起来您可能遇到其他答案正在解决的后台线程问题,但对于 WPF Windows,您是否尝试过更改 App 类的 ShutdownMode?您还可以尝试通过显式调用 Shutdown 来强制应用程序退出:

Application.Current.Shutdown();

关于c# - 主窗口关闭时应用程序不会退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2195684/

相关文章:

c# - 使用 msiexec 和 c# 安装 msi

c# - 如何在 C# 中实现长轮询客户端?

.net - 无法启动 vsixinstaller.exe,VSIX 安装程序进程失败,退出代码 1006

.net - 屏幕同步 - 事件聚合器 VS 缓存 ViewModel 引用

wpf - TreeView 同步到 View 模型中的 SelectedItem

c# - 尝试使用 .Net Core 3.0 (MongoDB.Driver 2.8.0) 获取对 MongoDB 集合的引用时出现异常

c# - 需要递归查找。 DB 与 C# GUI

c# - 如何将数据库查询结果转换为数组?

c# - 禁用基于绑定(bind)值 WPF 的 ListBox 项的选择

c# - 将所选项目从 WPF ListView 保存到另一个变量