从Visual Studio启动WPF应用程序时,加载初始窗口的速度非常慢

本文关键字:窗口 速度 非常 加载 Studio Visual 启动 WPF 应用程序 | 更新日期: 2023-09-27 18:29:40

我有一个相对简单的WPF应用程序。每当我从Visual Studio 2012中启动它(在调试或发布模式下)时,启动速度都非常慢(可能需要几分钟)。已经完成了一些自定义初始化工作(从SQLite数据库读取文件和加载数据),但它应该在1秒内完成,因为它比我通过单击Debug/myapp.exe文件直接启动应用程序所需的时间更短。

奇怪的行为是,如果我中断执行并立即继续(IDE中的"播放"按钮),窗口将立即加载。如果我按F5"开始调试",问题就会出现,但如果我按Ctrl+F5"开始而不调试",它会立即加载。

我在x86模式下使用.NET 4.5。

我尝试使用dotTrace性能分析器进行分析,但无法以这种方式重现问题(它将立即加载)。

你知道是什么原因造成的吗?

从Visual Studio启动WPF应用程序时,加载初始窗口的速度非常慢

这种缓慢的可能性可能是由于打开了太多的WPF跟踪设置。如果这是问题所在,您可以判断,因为随着项目的启动,输出窗口将充满信息。

如果您的问题,您可以通过转到来调整跟踪设置

工具>选项>调试>WPF跟踪设置

一旦找到了正确的部分,就可以关闭各种跟踪选项,启动应用程序时应该会看到速度的提高。

代码中可能设置了大量断点。打开Breakpoints窗口(调试->窗口)并将其全部关闭,看看是否是原因。或者更好的是,您可以从光盘中删除.suo用户文件,该文件存储断点和会话设置。

另一个可能的原因是扩展出现故障。你可能想尝试禁用一些插件,看看它是否更好。

此外,我记得我曾经历过WPF应用程序从VS启动缓慢,如果活动选项卡是图形窗口预览的话。

在我的案例中,问题是由于某种原因,VS不缓存System.Windows.Interactivity.dll的符号,每次我启动调试会话时,它们都是从服务器下载的。导航到Tools -> Options -> Debugging -> Symbols并选择具有空模块列表的"Only specified modules"解决了延迟问题。