Visual Studio 2010调试速度慢,很多ascx控件,加载我不需要的符号?

时间:2012-08-04 17:54:45

标签: asp.net visual-studio-2010 debugging

我有一个带有大量用户控件(* .ascx)的webforms ASP.NET应用程序。当我开始调试时,它似乎为每个控件重新加载符号,每个控件需要一两秒钟;因此,应用程序大约需要一分半钟才能在代码更改时启动。 (只要没有代码更改,我就可以很快停止并开始调试。)

在输出窗口中,我有几十行这样的行:

'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\Users\Herb Caudill\AppData\Local\Temp\Temporary ASP.NET Files\root\1f256061\12a5d99\App_Web_hcj5xynv.dll', Symbols loaded.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\Users\Herb Caudill\AppData\Local\Temp\Temporary ASP.NET Files\root\1f256061\12a5d99\App_Web_facettextboxfilter.ascx.b3b3f5d8.obkscoie.dll', Symbols loaded.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\Users\Herb Caudill\AppData\Local\Temp\Temporary ASP.NET Files\root\1f256061\12a5d99\App_Web_editgridcolumnchooser.ascx.b3b3f5d8.o1vmswte.dll', Symbols loaded.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\Users\Herb Caudill\AppData\Local\Temp\Temporary ASP.NET Files\root\1f256061\12a5d99\App_Web_editgridimporttools.ascx.b3b3f5d8.mslzoqjj.dll', Symbols loaded.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\Users\Herb Caudill\AppData\Local\Temp\Temporary ASP.NET Files\root\1f256061\12a5d99\App_Web_facetsearchpager.ascx.b3b3f5d8.b-mkmweb.dll', Symbols loaded.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\Users\Herb Caudill\AppData\Local\Temp\Temporary ASP.NET Files\root\1f256061\12a5d99\App_Web_photogallery.ascx.b3b3f5d8.0mzg-l3y.dll', Symbols loaded.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\Users\Herb Caudill\AppData\Local\Temp\Temporary ASP.NET Files\root\1f256061\12a5d99\App_Web_facetcheckboxfilter.ascx.b3b3f5d8.krw3yihh.dll', Symbols loaded.

这些控件几乎都与我正在调试的页面无关。有没有办法通过不加载我不需要的所有这些符号来加快调试过程?

注意:“删除所有断点”和/或与通过网络加载Microsoft符号有关的问题有很多类似的问题。这里没有一个问题。

2 个答案:

答案 0 :(得分:4)

起初我认为你加载许多dll的问题可能是因为你没有关闭编译器批处理,因此在每次更改时,visual studio会编译多个页面。

所以我建议尝试这个答案https://stackoverflow.com/a/9199027/159270并且它有效。

因此,将optimizeCompilations设置为true,将batch设置为false

<compilation batch="false" optimizeCompilations="true" ... >

对于asp.net版本3.5,必须使用此补丁才能使用此优化开关。 http://support.microsoft.com/kb/961884

不要在在线服务器上做同样的事情。

答案 1 :(得分:0)

在msdn论坛上有一个可接受的答案 - 原始链接

http://social.msdn.microsoft.com/Forums/pl-PL/vsdebug/thread/a76c4fbe-93de-4875-b111-43a472876271

为方便起见,下面的答案是从那里剪切和粘贴的。

在Visual Studio中,您可以通过“模块窗口”(可访问,在中断模式下通过“Debug-&gt; Windows-&gt;模块”进行调试时)访问符号加载行为,将“自动符号加载设置”设置为“始终手动加载“。

如何:使用模块窗口 http://msdn.microsoft.com/en-us/library/4c8f14c9.aspx

您也可以使用“符号设置”对话框,您可以在其中指定要自动加载的符号 如何:指定符号位置和加载行为 http://msdn.microsoft.com/en-us/library/x54fht41.aspx

符号,调试,选项对话框 http://msdn.microsoft.com/en-us/library/b13s79c0.aspx