Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从VisualStudio启动WPF应用程序时,加载初始窗口的速度非常慢_C#_Wpf_Performance_Visual Studio_Debugging - Fatal编程技术网

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

C# 从VisualStudio启动WPF应用程序时,加载初始窗口的速度非常慢,c#,wpf,performance,visual-studio,debugging,C#,Wpf,Performance,Visual Studio,Debugging,我有一个相对简单的WPF应用程序。无论何时我从VisualStudio2012中启动它(在调试或发布模式下),它的启动速度都非常慢(可能需要几分钟)。 有一些自定义的初始化工作已经完成(从SQLite数据库读取文件和加载数据),但应该在1s内完成,因为它比我通过单击Debug/myapp.exe文件直接启动应用程序所花费的时间要短 奇怪的行为是,如果我中断执行并立即继续(“IDE中的播放”按钮),窗口将立即加载。 如果我按F5“启动调试”,问题就会出现,但如果我按Ctrl+F5“启动而不调试”,

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

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

我在x86模式下使用.NET4.5

我尝试使用dotTrace Performance profiler进行评测,但问题无法通过这种方式重现(它将立即加载)


您知道是什么原因导致了这种情况吗?

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

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


此外,我还记得,如果活动选项卡是图形窗口预览,我曾体验过WPF应用程序从VS开始的速度很慢。

打开太多WPF跟踪设置可能会导致此速度缓慢。如果这是问题所在,您可以判断,因为项目启动时,输出窗口将充满信息

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

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


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

在我的情况下,问题是由于某种原因VS不会缓存System.Windows.Interactivity.dll的符号,并且每次启动调试会话时,都会从服务器下载这些符号。导航到
Tools->Options->debug->Symbols
并选择带有空模块列表的
“仅指定模块”
可以解决延迟问题。

是否仅在启动时或以后(例如,当您继续单步执行代码时)会变慢?仅在启动时,事实上甚至在初始化组件()之前调用。是否已安装VS update 3?是否已配置符号服务器?可能是调试器加载了额外的符号。是的,我安装了VS update 3。我已取消选中默认符号服务器。我还有其他WPF项目,它们可以立即加载并共享大部分自定义初始化代码。不幸的是,它们都已关闭,输出窗口中没有显示任何内容。