Visual Studio调试/加载非常慢


505

我机智。Visual Studio 通常非常痛苦地调试或只是简单地加载(“不调试就启动”)我的ASP.NET MVC站点。并非总是如此:一开始,项目会很好且快速地加载,但是一旦加载缓慢,之后它们就会始终缓慢加载。我可能要等待1-2分钟或更长时间。

我的设置:

我目前使用的是Visual Studio 2012 Express,但在Visual Studio 2010 Express中也遇到相同的问题。我的解决方案存储在网络驱动器上。具体来说,如果重要的话,它是“我的文档”重定向到网络驱动器。(不应该。在这种设置下,有时我的网站加载速度非常快。)

我通常在Internet Explorer 9中加载,但是在Firefox中也会发生相同的问题。

这可能发生在我从事的任何ASP.NET MVC项目中,并且似乎与拥有DisplayTemplates有关,而我的所有ASP.NET MVC项目都这样做。如果这很重要,那就是C#和Razor。

症状:

系统将加载我的符号数百次。基本上,下面是,但是至少有300个这样的行,每个行对于相同的CSHTML都有非常不同的DLL文件:

'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.xighmhow.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.cv5hktkf.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.1o77hs8i.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.jja-77mw.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_location.cshtml.22013bb9.l_e9ev_s.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_location.cshtml.22013bb9.b4n59gom.dll', Symbols loaded.

在上面,我有三个DisplayTemplate:“联系人”,“位置”和“ StatusCode”。似乎每次调用displaytemplate时,IIS都会两次加载符号。因此,如果我要显示一个包含100个条目的表,这些表调用所有这三个displaytemplates,则将加载600个单独的符号。

这也不是一个快速的操作。查看IIS生成的日志文件,每个符号加载大约需要200毫秒。因此,超长的延迟。

我尝试过的

  • 调试或发行版本,没关系。
  • 将我的项目放在Web服务器上的完整IIS实施中,可以毫无问题地快速运行它。
  • Cassini,IIS Express 7.5和IIS Express 8.0都有问题。
  • 删除所有断点不执行任何操作。
  • 干净的解决方案,或删除.suo也不起作用。
  • 如果我修复IIS Express,或删除My Docs\IISExpress文件夹,或修复/重新安装Visual Studio,则问题可能会消失,但只能解决一段时间,然后再恢复。

任何建议都将不胜感激。

要回答更多问题,是的,我的机器肯定具有强大的功能。令人发指的是,有时没有什么改动,但是同一项目有时可以非常快速地加载,通常是在修复IIS Express并删除My Docs\IISExpress文件夹之后。最终发生“事情”,最多需要2分钟才能重新加载。我正在做的不是一个复杂的项目。没有外部库或依赖项,我的VS.NET至今没有插件。

值得注意的是,该计算机具有Symantec Endpoint Protection,该历史记录已引起破坏。但是,彻底禁用它(成为管理员很好)并不能解决问题。

我现在有一个理论。我想这就是全部,因为我正在处理网络共享中的重定向文件夹。当调试器正在浏览其数百条“已加载符号”行时,我停下来看看它在做什么。它在我的代码中,加载了我的DisplayTemplate。进入模板输出如下:

Step into: Stepping over non-user code 'System.Threading.WaitHandle.InternalWaitOne'
Step into: Stepping over non-user code 'System.Threading.WaitHandle.WaitOne'
Step into: Stepping over non-user code 'System.CodeDom.Compiler.Executor.ExecWaitWithCaptureUnimpersonated'
Step into: Stepping over non-user code 'System.CodeDom.Compiler.Executor.ExecWaitWithCapture'
Step into: Stepping over non-user code 'Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch'
Step into: Stepping over non-user code 'Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromFileBatch'
Step into: Stepping over non-user code 'System.Web.Compilation.AssemblyBuilder.Compile'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.bciuyg14.dll', Symbols loaded.
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.CompileWebFile'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVPathBuildResultInternal'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists'
Step into: Stepping over non-user code 'System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName'
Step into: Stepping over non-user code 'System.Web.Mvc.VirtualPathProviderViewEngine.FindPartialView'
Step into: Stepping over non-user code 'System.Web.Mvc.ViewEngineCollection.Find'
Step into: Stepping over non-user code 'System.Web.Mvc.ViewEngineCollection.FindPartialView'
Step into: Stepping over non-user code 'System.Web.Mvc.Html.TemplateHelpers.ActionCacheViewItem.Execute'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.kwj3uqan.dll', Symbols loaded.
Step into: Stepping over non-user code 'System.RuntimeType.CreateInstanceSlow'
Step into: Stepping over non-user code 'System.Web.Mvc.DependencyResolver.DefaultDependencyResolver.GetService'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerViewEngine.DefaultViewPageActivator.Create'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerCompiledView.Render'

看起来Visual Studio 每次都在重新编译我的displaytemplate ,这又是数百次。我的理论是Visual Studio编译文件,将其保存到网络共享中,然后网络共享以某种方式在其上添加新的时间,然后Visual Studio认为文件已更改,因此Visual Studio再次重新编译它。虽然只是一个理论;我真的不知道

例如,显然我有离线文件(这是办公室中的台式计算机;我不在乎)。我要禁用,明天重新启动并重试。

另外,将我的项目按原样移动到本地C:即可修复它。它加载非常快。但这在工作环境中并不理想。我丢失了以前的版本,除非手动复制,否则根本不会备份我的代码,并且不再与任何人共享。

我可以将它从C来回复制到网络共享(如果涉及)。每个页面加载等待两分钟会更加令人讨厌。


我有很多问题:在运行它的机器上呢?它是否有足够的马力来满足您的需求?您有第三方插件吗?您拥有哪种防病毒软件?
Fickle Panther 2012年

1
使用更多信息更新了我的问题。
Ber'Zophus 2012年

似乎仅解决了删除脱机文件的问题。它工作了好一阵子,然后问题又回来了。但是我还有另一个可能的答案。更新我的解决方案。
Ber'Zophus

第二点是防病毒问题,我在运行ThreatFire时遇到了主要问题。暂时关闭它至少会使调试器的速度提高数百倍。关闭我的主要AV(Avast!)只会有一点帮助。
乔恩·库姆斯

@JohnSaunders你尝试运行它以管理员模式?:stackoverflow.com/questions/36322440/...
罗伯特Oschler

Answers:


650

这是我解决Visual Studio 2012中“符号加载缓慢”问题的方法:

  • 转到工具->选项->调试->常规

  • 选中“启用我的代码”旁边的复选标记。

  • 转到工具->选项->调试->符号

  • 单击“ ...”按钮,然后在本地计算机上的某个位置创建/选择一个新文件夹来存储缓存的符号。我将其命名为“ Symbol caching”,并将其放在“文档”->“ Visual Studio 2012”中。

  • 单击“加载所有符号”,然后等待从Microsoft的服务器下载符号,这可能需要一段时间。请注意,“加载所有符号”按钮仅在调试时可用。

  • 取消选中“ Microsoft Symbol Servers”旁边的复选标记,以防止Visual Studio远程查询Microsoft服务器。

  • 点击“确定”。

从现在开始,符号加载应该更快。

请注意,如果对Microsoft程序集进行了任何更改/下载,则可能需要返回到“符号”对话框,然后再次“加载所有符号”。


31
恐怕我没有解决办法。对于那些围绕Microsoft符号问题解决的人来说,这将是一个很好的解决方案。对我来说不幸的是,我的问题似乎围绕着我自己的符号。这些符号已经在本地缓存,并且由于某种原因,仅在一页加载中就编译了数百个图块。
Ber'Zophus

8
感谢这个技巧,我遇到的一个问题是对我禁用了所有符号加载按钮,我有什么想法吗?
克里斯·麦克格拉斯

14
@ChrisMcGrath试试这个链接social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/…。顺便说一句,谢谢您的出色回答
Bobby Tables

16
即使按照您的步骤操作,“加载所有符号”按钮也会隐藏,我无法单击它。我现在该怎么办?我使用VS 2012快车
人士Himanshu AGGARWAL

86
这是为那些禁用了按钮加载所有符号的用户提供的解决方案:按钮仅在调试时可用。
Gwynnbleid13年

114

关闭intelliTrace可以为我解决此问题。

在Visual Studio中,工具->选项-> IntelliTrace

然后,取消选中“启用IntelliTrace”复选框。

在Visual Studio 2012中禁用IntelliTrace


2
通过一个单元测试时,我遇到了这个问题。启用智能跟踪大约需要300秒,而关闭智能跟踪大约需要14秒。此修复程序确实对我有用。
Paul Bullivant 2014年

2
将我的启动时间从25秒提高到了6秒。我认为这很有帮助,因为我在应用程序启动时运行了很多自己的代码
James Ellis-Jones

2
Goddamnid ...从1分钟到10秒。在VS2012 Ultimate中默认选中它。提防大家
Kevin Cloet 2014年

7
在Tools => Options中找不到Intellitrace。..我有vscomunity 2015
shireef khatab

8
在Visual Studio 2015中,Intellitrace仅存在于VS 2015 Enterprise Edition中。
HK1

78

这些都不对我有用,但是我在已删除的符号上找到了一个断点。似乎2010年即将过去。要查看这是否是您的问题,请执行debug-> windows-> breakpoints。如果有,只需删除它们即可。

桑德斯(Saunders)提到他进行了检查,但解决此问题的方法中未提及。也许对我们中的某些人(但不是所有人)来说是常识。


5
我突然在VS2010中开始遇到这个问题,确实是导致我出现此问题的一个断点之一。一旦我清除了断点,它又变得很快。
David Airapetyan

3
Wow..VS2012爬行了5分钟,只是为了构建一个简单的项目。清除了所有断点,再次快速变亮,谢谢!!
QFDev 2013年

1
阅读本文并按照您的说明进行操作后,我发现了一个断点,该断点以某种方式放置在我的edmx实体文件之一的XML代码中。你这个男人/女人。
JB06

万分感谢。这解决了我的问题,因为VS2010的性能非常慢。
Vaibhav Patle,2015年

2
这也工作了一个缓慢的调试问题,我在Visual Studio 2015年了
purplecat

41

我删除了“ ASP.NET临时文件”文件夹,并且本地主机页面加载得到了显着改善。这是路径...%temp%\临时ASP.NET文件\


9
C:\ Users \ {USER_NAME} \ AppData \ Local \ Temp是路径,“ AppData”文件夹是隐藏文件夹
Shiva Naru 2015年

2
我在这里发现了1GB的旧废话。。。全部删除,VS运行得更好。:)
RitchieD '02

29

是否启用了FusionLog?

我的Visual Studio的启动速度非常慢,在启动调试时会打开解决方案并加载符号。它仅在我的计算机上运行缓慢,而在其他计算机上却没有。

FusionLog将大量日志文件写入磁盘。就我的情况而言,仅在RegEdit上禁用它就可以解决所有问题。

这是注册表上的FusionLog密钥:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

检查ForceLog值(启用1,禁用0)。


1
嗯...很好的答案。我在同一条船上。我也FusionLog很久以前启用了,却忘记禁用它。现在调试该ASP.NET MVC应用程序要快得多。感谢上帝和@rkawano。:)
Leniel Maccaferri 2014年

29

我遇到了同样的问题,并尝试了上面的大多数解决方案。简单地删除缓存和临时文件最终对我有用。

尝试删除以下两个文件夹的内容:

C:\Users\\{UserName}\AppData\Local\Microsoft\WebsiteCache

C:\Users\\{UserName}\AppData\Local\Temp (尤其是iisexpress和Temporary ASP.NET Files文件夹)。

通过将cmd文件添加到C:\Users\\{username}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup具有以下内容的文件夹,可以将其设置为在登录Windows时自动发生:

rmdir C:\Users\\{username}\AppData\Local\Microsoft\WebsiteCache /s /q

rmdir C:\Users\\{username}\AppData\Local\Temp /s /q

这工作了。“ AppData”文件夹是一个隐藏的文件夹,以防万一有人找不到它。
Shiva Naru 2015年

3
这是一个!它运行良好,以至于我现在登录Windows时就自动实现了:我已经将一个名为DeleteVisualStudioCache.cmd的文件添加到C:\ Users \ {username} \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \使用以下命令启动:rmdir C:\ Users \ {用户名} \ AppData \ Local \ Microsoft \ WebsiteCache / s / q rmdir C:\ Users \ {用户名} \ AppData \ Local \ Temp / s / q暂停
Graham Laight

25

我想我也许至少可以最终知道原因,尽管不是原因。当问题再次开始出现时,我注意到大量的“ conhost.exe”进程被孤立了。我将关闭Visual Studio,并且它们将保持打开状态。他们每个人的最终任务终于可靠地解决了。[希望]

(请注意,尽管Visual Studio使用了conhost.exe,但它不是Visual Studio进程。因此,那里的其他用户可能还有其他运行conhost.exe的应用程序。我知道我的机器没有,这就是为什么我可以安全地结束除YMMV以外的所有任务。)

至于为什么会这样呢?一次打开多个项目时似乎会发生这种情况,尽管我随时都只构建和调试一个项目,但我经常这样做。


编辑#1-不幸的是,这不是“银弹”。它并不总是对我有用。通常,当事情变慢时,我只是关闭所有Visual Studio会话,然后进入任务管理器并结束它的任何实例conhost.exe,iisexpress.exe Microsoft.VisualStudio.Web.Host.exe和MSBuild.exe我能找到。

通常,此后,当我重新启动项目时,它将很快加载。但不总是。

确实,我认为最好的做法是不要从重定向的文件夹/网络共享中构建和调试代码。


编辑#2-两年后,这在Visual Studio Community 2013中仍然是我的问题,但是我似乎至少找到了罪魁祸首:Explorer.exe。是的,谁知道。我结束该任务的那一刻,bam,页面在一秒钟内加载。

如果我在重定向的网络驱动器上打开了Windows资源管理器文件浏览器(通常是因为这是我的代码所在的位置),则似乎会出现此问题。关闭窗口是不够的,我必须杀死整个Explorer.exe任务。我只能猜测它在做什么...对文件句柄发疯吗?

通常,我可以使用任务管理器来启动新的explorer.exe任务(我只能进行很多alt键切换),Visual Studio会继续快速且漂亮地加载。但是,如果我又要再次打开Windows资源管理器,它几乎总是可以恢复到超级慢动作。

因此,如果您有重定向的网络共享,请尝试一下。它肯定胜过本地工作。


我知道这是一个旧消息,但是我也遇到了同样的问题。我的团队建议我使用一个构建脚本,该脚本将文件从本地源复制到运行文件的位置,并且每次我自己运行该子例程时,它将创建conhost.exe而不关闭它。一旦我结束了所有多余的副本,它就会再次快速运行。
SomeoneRandom


19

对我来说是IE 9.08.8112.16241。一旦我使用Firefox或Chrome,就没有使用F10或F11进行缓慢的调试。我不知道IE的问题是什么,但是我现在开始鄙视使用它进行测试。

更新:我已经关闭了所有IE程序加载项,它恢复了全速。一次将它们打开一个就表明,LastPass(以我为例)是元凶。我想我毕竟不应该怪MS。


2
这也解决了我的问题。尝试调试时,尤其是在使用“快速监视”窗口时,我得到了完整的系统锁定。LastPass工具栏需要被禁用。(IE 10.0.9200.16635)
mpeterson

1
这就是为什么我喜欢StackOverflow。但是LastPass应该解决此问题-我现在通过电子邮件发送给他们,让他们知道。VS2013和IE 11显然仍然是个问题。禁用LastPass并恢复正常。感谢UserBlueOne提供的信息-可以再次开始工作。
肖恩

1
怪胎LASTPASS!使用MVC应用程序在VS 2012中进行调试时,键盘完全塞满了。禁用了LastPass,一切再次飞过。谢谢!已投票。
托尼

在带有IE的Win8.x中,如果您使用MS帐户登录,则可以使其同步登录,因此无需使用LastPass,但仍然(部分)具有这些优势,:)
Peter

这对我有用。请注意,现在是2019年-六年后--我正在将LastPass插件与Microsoft Edge一起使用。
卢克·莫勒

15

对我来说,我实现了此技巧该技巧通过在web.config中的编译标记中添加以下两个属性,从根本上大大提高了性能

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

batch =“ false”是做什么的?

通过仅编译已更改并需要重新编译的页面,它使预编译更具选择性

OptimizCompilations到底在做什么?资源

ASP.NET使用每个应用程序的哈希码,其中包括许多东西的状态,包括bin和App_Code文件夹以及global.asax。每当ASP.NET应用程序域启动时,它都会检查此哈希码是否与以前计算的哈希值有所更改。如果已删除,则将清除整个codegen文件夹(其中包含已编译和影子复制的程序集)。

启用此优化功能后(通过optimizeCompilations =“ true”),哈希不再考虑bin,App_Code和global.asax。因此,如果进行了更改,我们将不会清除codegen文件夹。

参考:msdn上的编译元素


2
感谢您的发表。与接受的答案相比,这实际上在提高我的表现方面做得更多。
卡纳波利斯

@ Ber'Zophus您可以尝试这个并与我们分享您的结果吗?
Korayem '16

编译走了进去的System.Web
的一个

1
确认可用于大型解决方案和Web应用程序(MVC)。
hQuse

12

我也有调试方面的执行性能问题,并且尝试了很多调试器选项。就我而言,当我更改此选项时,将获得巨大的性能:

工具-选项-调试-输出窗口-(常规输出设置-所有调试输出)-关


12

在我的情况下,它是带有VS 2012的.NET Reflector Visual Studio扩展(版本8.3.0.93)。每个Step Over(F10)的调试时间都为10秒。

在Visual Studio中,转到“ 工具/扩展和更新...”,然后禁用.NET Reflector Visual Studio Extension。不要忘记重新启动Visual Studio。


我发现这也是导致我的问题的艰难方法。仅在禁用扩展后,我才看是否有人注意到它。
2013年

11

启用“本机代码”调试器时,我的Visual Studio调试速度较慢。尝试禁用它。

在“ Visual Studio 2012”上,转到:

  1. 项目属性->
  2. 网页->
  3. 调试器(页面底部)。->
  4. 禁用除ASP.NET之外的所有内容

希望能帮助到你。

类似的问题:12


不幸的是,我的已经设置好了,所以对我来说没有解决方法。但是对于其他人来说可能是一个很好的建议。
Ber'Zophus

这为我解决了!
哈维

11

就我而言

Tools/Options/Debugging/General/Enable JavaScript debugging for ASP.NET (Chrome and IE)

取消选中此复选框后,调试开始将从45-60秒降低到0-5秒。


这一个是最最快的国家之一
弗兰克妙周四

10

有一次,在停电后,每次遇到断点或引发异常时,我都不得不面对同样的速度问题。

我模糊地记得,“ suo”文件(与“ sln”解决方案文件位于同一目录中)可能会损坏,并使所有内容变慢。

在此处输入图片说明

我删除了我的“ suo”文件,一切正常。.suo文件的删除是无害的,仅表示重新创建Windows布局以及启动项目和其他一些非关键性的自定义设置。


我只是意识到停电后我也变得很慢,非常感谢这个答案。
尼克

.vs在更高版本的Visual Studio中查找文件夹。删除它。
CAD bloke

10

我也遇到了这个问题,下面是我执行的步骤,它始终对我有用:

  • 删除解决方案的.suo文件。
  • 删除临时ASP.NET文件 (您可以在%WINDOW%\ Microsoft.NET \ Framework \\ Temporary ASP.NET Files中找到它)
  • 删除应用程序中的所有断点。

重新启动后,耗时比正常时间长5倍,而不是正常时间的10倍。删除.suo文件使其几乎立即启动。谢谢!
Shelby115 '16

似乎删除.suo文件有效。有什么理由删除此文件有助于提高性能。
SharpCoder

@SharpCoder .suo包含许多信息,例如当前在IDE中打开哪些文件,调试器信息,本地设置等。而且,当这些文件损坏时,vs开始消耗更多的CPU使用率,从而导致VS缓慢甚至挂起。某些情况下。
Geeky Ninja

9

我不知道您是否仍然遇到此问题,但是我通过将调试器附加到进程本身来调试Visual Studio中的站点,而不是让VS为我自己做,因此我发现它可以大大缩短时间。我使用了一个名为AttachTo的VS扩展,并且在这里有一篇关于如何使用它的小文章。

我希望这有帮助。


7

我的VS慢问题通过禁用浏览器链接得以解决

在此处输入图片说明


我知道“谢谢”的评论在这里有些皱眉,但说真的,非常感谢。这一变化使我正在测试的程序从缓慢变为无法使用,实质上变成了即时反应。您可能每天只花一两个小时就能买到我,仅仅是因为不必等待加载的东西
thnkwthprtls

@thnkwthprtls欢迎您-您需要注意的那些MS默认设置之一:)
Salty

不必禁用它,请参阅我的答案=> stackoverflow.com/a/34979659/2736742
A. Morel

6

如果有人发现此行为来自左侧字段,请检查以确保在web.config中没有设置任何断点。我必须用鼠标单击来设置一个,这确实减慢了所有调试操作的速度。


我自己也有同样的事情。差点让我发疯。到底为什么web.config文件中的非活动断点会完全中断调试?
pleunv

6

花了整整一天的时间等待符号像海龟一样慢地加载后,混合并在所有可能的组合之间切换:Just My Code,缓存符号Intellitrace,Just-In-Time,杀死进程等。

我的解决方法实际上是禁用防病毒软件。是的,Windows Defender减慢了我的项目启动速度!当Visual Studio请求它们时,它将检查所有dll,并减慢了整个符号加载过程。

我必须说我们的机器具有出色的规格,可以真正快速地编译该解决方案,因此这绝不是问题。我们使用VS 2013 Ultimate进行编码。


1
是的,关闭Windows Defender就像一个魅力!要永久关闭Windows Defender在Windows 10,在注册表编辑器路径HKLM \ SYSTEM \ CurrentContolSet \ SERVICES \ WinDefend设置开始= “4”(图4为禁用)
HAL

AVG防病毒软件出现问题。请问有人可以解决从防病毒中排除特定文件夹来解决此问题的问题吗?我已经缓存了符号,并排除了符号缓存文件夹-但这没什么区别。
Graham Laight

1
您可以保留AV,并从分析中排除某些路径和目标(VS和您的项目)
Soleil-MathieuPrévot18/

5

清空符号缓存对我有用。

请参阅:菜单栏/工具/选项/调试/符号/空符号缓存


3

类似的问题浪费了我一半的时间!

由于针对我的问题的解决方案与此处所说的不同,因此我将其发布,以便对他人有所帮助。

我的是一个断点。我有一个“函数中断”断点(即,不是在代码行上按F9键,而是使用断点窗口创建它们),该断点应该在我项目外的库函数中停止。

并且我已选中“使用Intellisense验证功能名称 ”。(信息在这里。)

与“地狱”相比,这变慢了(项目启动时间从2秒缩短到5分钟)。

删除断点可以很好地解决它。


3

完成上述所有操作后,对我
有用的一件事是:在“线程”窗口(“调试”->“ Windows”->“线程”)中,将“分组依据”设置为“无”。这只能在调试时完成。

即使关闭了该窗口,这也会产生影响。


3

在Visual Studio中:

工具->选项->调试->符号

选择“仅指定的模块”。单击“指定模块”链接,并添加一个空白模块(单击“新文档”按钮,然后单击“确定”)。


3

在Windows资源管理器中打开解决方案文件夹,关闭Visual Studio,然后从Windows资源管理器中删除.suo文件。

现在在Visual Studio中打开项目,希望调试器能够快速连接/分离。


3

对我来说,这是有条件的断点。这些似乎真的使事情变慢了。


1
确实的。但是仅当包含它们的行实际执行时。
Peter Mortensen

3

转到您的环境变量,然后寻找键_NT_SYMBOL_PATH。

删除它。

瞧,像魅力一样。


value == symsrv*symsrv.dll*C:\WINDOWS\Symbols*http://msdl.microsoft.com/download/symbols还是没有骰子!
SliverNinja-MSFT

3

对我来说,问题是“浏览器链接”功能在为同一项目打开多个选项卡时非常繁重!

因为每次我们启动该项目时,它都会打开一个带有浏览器链接通信的新选项卡。

只需关闭与项目关联的所有选项卡,然后仅打开一个即可!

这个免费的即时视觉工作室!这是魔法 !;-)

“浏览器链接是Visual Studio 2013以来的一项功能,可在开发环境和一个或多个Web浏览器之间创建通信通道。您可以使用浏览器链接一次在多个浏览器中刷新Web应用程序,这对于跨浏览器测试很有用。”


3

对于那些与默认VS设置没有太大差异的人来说,这是一种快速简便的解决方案。

工具->导入和导出设置->是,保存我的当前设置-> Visual C#

我确信上述解决方案也可以与其他默认设置一起使用。就我而言,有些东西弄乱了我的符号加载设置,但是即使尝试了很多建议的解决方案,我也无法解决它。


3

请确保您尚未在管理员模式下打开Visual Studio

我遇到了这个问题,不得不在正常模式下运行。


6
不幸的是,如果您将项目设置为在IIS中运行,则需要以管理员身份运行。
纳尔逊·罗瑟梅尔

@NelsonRothermel哪个版本?不再(VS2017)。
Soleil-MathieuPrévot18年

@Soleil:在VS2017中,它仍然是必需的。IIS作为Windows服务(或一组服务)运行,而不是在用户空间中运行。您可能是指不需要管理员权限的IIS Express。我通常建议您使用后者,尤其是在锁定计算机的组织中,但确实存在一些缺点。
纳尔逊·罗瑟梅尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.