4

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

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

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

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

您对可能导致这种情况的原因有任何想法吗?

4

3 回答 3

2

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

如果这您的问题,您可以通过转到

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

找到正确的部分后,您可以关闭各种跟踪选项,并且在启动应用程序时应该会看到速度有所提高。

于 2013-08-30T08:45:09.410 回答
1

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

另一个可能的原因是扩展出现故障。您可能想尝试禁用一些插件以查看是否效果更好。

另外,我记得我体验过 WPF 应用程序从 VS 启动缓慢,如果活动选项卡是图形窗口预览。

于 2013-08-30T07:29:54.513 回答
1

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

于 2016-10-30T09:15:42.097 回答