Visual Studio调试/加载非常慢

我真是一筹莫及。Visual Studio 通常调试速度慢得令人痛苦,或者只是简单地加载(“不调试就开始”)我的ASP。NET MVC站点。不总是这样:一开始,项目加载得又快又好,但一旦它们加载得慢了,之后就会一直加载得慢。我可能要等1-2分钟甚至更久。

我的设置:

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

我通常在Internet Explorer 9中加载,但在Firefox中也会出现同样的问题。

这可能发生在任何ASP中。NET MVC项目,我的工作,它似乎围绕有显示模板,这所有我的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.

在上面,我有三个显示模板:&;contact &;, &; location &;和&;statuscode &;。每次调用显示模板时,IIS似乎都要加载两次符号。因此,如果我显示一个包含100个条目的表,调用所有这三个显示模板,它将加载600个单独的符号。

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

我的尝试:

  • 无论是调试版本还是发布版本,都不重要。
  • 将我的项目放在web服务器上的完整IIS实现上运行非常快,没有任何问题。
  • 卡西尼、IIS Express 7.5和IIS Express 8.0都存在这个问题。
  • 删除所有断点不起任何作用。
  • 清洁解决方案,或者删除.suo也什么都不做。
  • 如果我修复IIS Express/删除My Docs\IISExpress文件夹,或修复/重新安装Visual Studio→这个问题可能会消失,但只会消失一段时间,然后它就会回来。

任何建议都是感激的。

回答更多的问题,是的,我的机器绝对有马力。令人恼火的是,同样的项目,没有任何改变,有时可以非常快地加载,通常在我修复IIS Express并删除My Docs\IISExpress文件夹之后。最终,“something"发生这种情况,再次加载需要2分钟。我正在做的项目并不复杂。没有外部库或依赖项,我的VS.NET没有任何附加组件。

值得注意的是,这台机器有赛门铁克端点保护,它有造成严重破坏的历史。但是完全禁用它(成为管理员是件好事)并不能解决问题。

在这一点上我有一个理论。我想这一切都是因为我正在处理一个重定向文件夹从一个网络共享。当调试器正在处理数以百计的“加载符号”时;我停下来看看它在做什么。它在我的代码中,加载我拥有的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正在重新编译我的显示模板每一次,它被称为每一次,这是数百次。我的理论是Visual Studio编译文件,将其保存到网络共享,然后以某种方式在其上标记一个新的时间,然后Visual Studio认为文件已经更改。因此,Visual Studio再次重新编译它。不过这只是个理论;我真的不知道。

首先,很明显,我有离线文件(这是办公室里的台式电脑;我一点也不在乎)。我要禁用,重启,明天再试。

另外,将我的项目移到本地C:可以修复它。加载速度很快。但这在工作环境中并不理想。我失去了以前的版本,我的代码根本没有备份,除非我手动复制它,它不再与任何人共享。

如果需要的话,我可以在C和网络共享之间来回复制它。每个页面加载都要等上两分钟,这要烦人得多。

366563 次浏览

我想我至少知道原因了,虽然还不知道原因。当问题再次出现时,我注意到大量的“conhost.exe”进程被孤立。我会关闭Visual Studio,他们会继续开着。在它们各自上结束任务,最终可靠地解决了问题。(希望)

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

为什么会这样呢?当我一次打开多个项目时,这种情况似乎就会发生,尽管我每次只构建和调试其中一个项目,但我往往经常这样做。


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

通常,在那之后,当我重新启动我的项目时,它会很快加载。但并非总是如此。

真的,我认为最好的做法可能是不建造&调试代码从重定向的文件夹/网络共享。


编辑#2 -两年后,在Visual Studio Community 2013中,仍然对我来说是一个问题,但我似乎至少找到了罪魁祸首:资源管理器。是啊,谁知道呢。当我结束那个任务时,砰,页面在一秒钟内加载。

如果我有一个Windows资源管理器文件浏览器打开我的重定向网络驱动器(这是经常因为我的代码在那里),这个问题似乎发生了。关闭窗口是不够的,我必须杀死整个Explorer.exe任务。我只能猜测它在做什么……被文件句柄搞疯了?

我通常可以使用任务管理器来启动一个新的explorer.exe任务(我只能使用这么多alt-tab), Visual Studio将继续快速加载。但如果我再次打开Windows资源管理器,它几乎总是回到超慢动作。

所以,如果你有一个重定向的网络共享,给它一个机会。这肯定比在当地工作要好。

当启用“本地代码”调试器时,我遇到了Visual Studio调试缓慢的问题。试着禁用它。

在“Visual Studio 2012”上转到:

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

希望能有所帮助。

类似的问题:12

在我的例子中,我注意到禁用我的互联网连接将使它运行得和按ctrl-f5一样快,所以我去调试->选项->符号,并只是不选中所有。pdb位置。

似乎每次启动调试会话时VS都试图连接到这些服务器。

注意,关闭调试->选项->调试->通用“启用源支持”或“要求源文件与原始版本完全匹配”不会使任何区别。

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

  • 进入“工具->选项->调试->常规”

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

  • 打开“工具->选项->调试->符号”

  • 单击“…”按钮,在本地计算机上的某个地方创建/选择一个新文件夹来存储缓存的符号。我把我的命名为“符号缓存”,并把它放在文档-> Visual Studio 2012。

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

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

  • 点击“OK”。

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

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

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

我希望这能有所帮助。

这些都不适合我,但我在一个被删除的符号上发现了一个断点。似乎2010年还在继续。看看这是否是你的问题做调试->窗口->断点如果有任何在那里删除他们。

Saunders提到他检查过这个但是在这个问题的解决方案中没有提到。也许对某些人来说是常识,但不是所有人。

如果有人注意到这种行为超出了左域,请检查以确保在web.config中没有设置任何断点。我一定是用鼠标随意点击设置了一个,它真的减慢了所有的调试操作。

我也有调试的执行性能问题,我尝试了调试器的很多选项。在我的情况下,巨大的性能实现时,我改变了这个选项:

工具-选项-调试-输出窗口-(通用输出设置-所有调试输出)-关闭

关闭intelliTrace为我解决了这个问题。

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

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

Disable IntelliTrace in Visual Studio 2012

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

由于我的问题的解决方案与这里所说的不同,我将发布它,以便它可以帮助其他人。

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

我检查了"使用智能感知来验证函数名”。(信息# EYZ1。)

这放慢了vs像地狱(项目启动从2秒到5分钟)。

删除断点永远地解决了这个问题。

对我来说是IE 9.08.8112.16241。当我使用Firefox或Chrome时,我发现F10或F11的调试并不缓慢。我不知道IE的问题是什么,但我现在正式鄙视使用它进行测试。

更新:我已经关闭了所有的IE程序插件,它已经恢复到全速。每次打开一个就会发现LastPass(对我来说)是罪魁祸首。我想我终究不能责怪多发性硬化症。

< p > # EYZ0
如果你正在使用Brave,你可以很容易地访问你的扩展,并在调试时一次关闭一个(或几个)
brave://extensions

只需点击切换滑块。请注意,除了DuckDuckGo隐私必需品之外,我所有的都是打开的。它们不会被删除,只是暂时禁用。

enter image description here

我删除了“临时ASP。NET Files文件夹和我的本地主机页面加载显著改善。这是路……% % \ temp临时ASP。网络文件\

以上都是很好的解决方案,我尝试了所有的解决方案,但得到的解决方案在这里,这是

Debug -> Delete All Breakpoints

在局部视图中,如果页面上出现了不能立即识别的错误,情况也会比较复杂。像模型。SomeValue而不是Model.ThisValue。它可能没有下划线,并在调试中引起问题。染上这种病真的很痛苦。

清空符号缓存对我有用。

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

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

我模糊地记得“suo”文件(与“sln”解决方案文件在同一个目录中)可能被损坏,并使一切变慢。

enter image description here

我删除了我的“suo”文件,一切正常。删除.suo文件是无害的,只意味着重新创建我的windows布局加上启动项目和其他一些非关键的自定义。

在我的例子中,它是VS 2012的. net Reflector Visual Studio扩展(版本8.3.0.93)。调试每个跨过 (F10)需要10秒。

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

在做了以上所有的事情后,对我有用的一件事是:
在“线程”窗口(Debug->Windows->Threads)中,将“分组by”设置为“None”。这只能在调试时完成

即使在关闭窗口之后,这仍然产生了影响。

我也遇到过同样的问题,并尝试了上面的大部分解决方法。简单地删除缓存和临时文件最终为我工作。

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

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

而且

C:\Users\\{UserName}\AppData\Local\Temp(特别是iisexpress和临时ASP。NET Files文件夹)。

这可以设置为在登录Windows时自动发生,只需在C:\Users\\{username}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup文件夹中添加一个包含以下内容的cmd文件:

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


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

是否开启了FusionLog?

我的VisualStudio启动很慢,在开始调试时打开解决方案和加载符号。它只在我的机器上很慢,但在其他机器上没有。

FusionLog会将大量的日志写入磁盘。只要在注册表上禁用它就解决了我的问题。

这是注册表上的FusionLog键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

检查ForceLog值(1 enabled, 0 disabled)。

在Visual Studio中:

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

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

在windows资源管理器中打开解决方案文件夹,关闭visual studio,从windows资源管理器中删除.suo文件。

现在在visual studio中打开项目,希望调试器可以快速附加/分离。

请确保您没有以管理员模式打开Visual Studio

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

对我来说是条件断点。这些似乎真的会让事情变慢。

转到环境变量中,寻找键_NT_SYMBOL_PATH。

删除它。

瞧,效果好极了。

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

enter image description here

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

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

batch="false"做什么?

它使预编译更具选择性,只编译那些

optimizeCompilations到底在做什么?# EYZ1

< p > ASP。. NET使用每个应用程序的散列代码,其中包括的状态 许多东西,包括binApp_Code文件夹,和 # EYZ0。每当ASP。NET应用程序域启动,它检查是否 哈希码已经改变了它以前计算的内容。如果有, 然后是整个codegen文件夹(编译和阴影复制的地方

.

. 当这个优化被打开时(通过optimizeCompilations="true"),哈希不再被考虑 binApp_Codeglobal.asax。因此,即使这些改变了,我们也不会改变 删除codegen文件夹

参考:# EYZ0

在花了一整天的时间等待符号加载速度像乌龟一样慢,在所有可能的组合之间混合和切换:只是我的代码,缓存符号Intellitrace, Just-In-Time, 死亡过程,等等。

我的解决方案实际上是关闭防病毒。是的,Windows Defender拖慢了我的项目启动!它会检查Visual Studio请求的所有dll,并减慢整个符号加载过程。

我不得不说,我们的机器具有出色的规格,可以快速编译解决方案,所以这从来都不是问题。我们在VS 2013终极版中编码。

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

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

# EYZ0

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

“浏览器链接是Visual Studio 2013以来的一个功能,它在开发环境和一个或多个web浏览器之间创建了一个通信通道。你可以使用Browser Link在多个浏览器中同时刷新你的web应用程序,这对于跨浏览器测试非常有用。”

我在VS 2013中遇到了这个问题。几个月来,我的测试调试正常,但突然出现了可怕的加载符号消息,我没有意识到我做了什么导致它的事情。

这里或任何其他网页上的建议都帮不了我。每样东西我都试了至少10次。删除.suo文件并没有帮助,但是在同一位置有两个扩展名为< em > .testsettings < / em >的文件和一个扩展名为< em > .vsmdi < / em >的文件。这些文件似乎过时了,可能是VS 2010的遗物。创建它们的团队成员早就不在了。

我发现我可以毫无问题地删除这三个文件。我发现只要删除< em > .testsettings < / em >文件中的一个特定文件就足以停止加载符号消息。我的噩梦结束了。

重新启动计算机

我知道这听起来太简单了,但这是唯一对我有效的方法。

我也面临着这个问题,下面是我执行的步骤,它总是对我有效:

  • 删除解决方案的.suo文件。
  • 删除临时ASP. exe网络文件 (你可以在% % \微软窗口。净\ Framework \ \临时ASP。网络文件找到它)
  • 删除应用程序中的所有断点。

我在一个新工作中设置了Visual Studio,默认语言是c#。当时我还没有意识到我注定要用VB编程。

我忘记了c#的默认,因为VB似乎工作得很好。然而,逐步执行代码所花费的时间非常多。在尝试了一些修复后,在绝望中,我把默认语言改为VB…宾果!

如果你已经走了这么远,绝对值得一试。

对于那些没有太多偏离默认VS设置的人来说,一个快速简单的解决方案。

工具——>导入导出设置——>是的,保存我的当前设置——>Visual c#

我相信上述解决方案也适用于其他默认设置。在我的情况下,我的符号加载设置搞砸了,但我无法修复它,即使我尝试了相当多的建议解决方案。

我不小心选择了“Show Threads in Source”选项。在取消选择时,步进代码是正常的。

# EYZ0

对我来说,问题是Avast Antivirus。我卸载了它,改用Windows Defender运行,一切正常。在我的解决方案中,我只在运行Windows应用程序时遇到这个问题,无论是WinForms还是WPF。由于某些原因,它在web应用程序上从来没有慢过。

Asp.net核心调试是痛苦的缓慢,因为未知的VS扩展取代了默认的即时调试器。

我在OPTIONS\DEBUGGING\Just-In-Time配置选项卡中发现了这样的消息(作为警告文本)。 另一个调试器已注册为即时调试器。若要修复,请启用即时调试或运行Visual Studio repair

描述:# EYZ0

返回默认的JIT调试器(只是选中了未选中的Managed选项)解决了我的所有问题。

我的解决方案就是重新加载我的设置(一年前做的)的一个保存好的备份。在将所有内容重置为空白之前值得一试。我的VS2010需要60秒来开始调试,大约。3分钟后停止调试。我保存了损坏的设置,令我惊讶的是,它们超过了3MB,而不是260Kb。我加载了好的备份副本,一切都很好:-)

我最终通过修改本地IIS配置来修复(或至少改进了很多)这个问题:

  1. 打开IIS配置
  2. 单击进入应用程序池
  3. 右键单击每个池并打开高级配置
  4. 确保“启用32位应用程序”被设置为TRUE 启动模式设置为AlwaysRunning

希望这对某些人有所帮助,因为我开始疯狂地试图修复缓慢的调试问题

清晰的缓存等使用选项1 &# EYZ1;设置/故障排除选项3 &# EYZ3,享受吧!

选项1: 导航到IIS express,清除缓存和站点

cd "C:\Program Files (x86)\IIS Express\"
  • 运行这个appcmd.exe list site /xml | appcmd delete site /in
  • 运行Del /S /F /Q %temp% -清除Userprofile Temp文件夹。
  • 运行这个Del /S /F /Q %Windir%\Temp

此外,清晰的你的临时文件在%temp%和注销,或重新启动

这将清除Windows临时文件夹。这将删除所有的网站,享受!


选项2:删除/重新创建临时文件夹

  • Cmd># EYZ0
  • Cmd># EYZ0

选项3.: JMC (Just My Code)选项from MSDN

要在Visual Studio中启用或禁用Just My Code, under Tools > Options (or Debug > Options) > Debugging > General, select or deselect Enable Just My Code

enter image description here


选项4: 配置Visual Studio/禁用常见插件问题

甚至更多Visual Studio设置 你也可以配置Visual Studio并禁用环境上的资源删除功能,不记得我从哪里得到的,但是我会很快发布更多的内容

环境→一般

  • 取消勾选”根据客户端自动调整视觉体验 李性能”< / >
  • 取消选中“启用富客户端视觉体验” 如果可以使用硬件图形加速 环境→李AutoRecover < / >
  • 取消选中“每次保存自动恢复信息”
  • 环境→文档
  • 检查“当数据无法保存在编码页时,将文档保存为Unicode” 环境→李键盘< / >
  • 设置“force egc”为“ctrl+num1”
  • 设置“ReSharper_Toggle”为ctrl+num0(如果使用ReSharper)
  • 设置“ReSharper_EnableDaemon”为ctrl+num8(如果使用ReSharper) 环境→李启动< / >
  • 设置“At startup”为“Show empty environment At startup”
  • 取消勾选“每次下载内容” 环境→李同步设置< / >
  • 取消选中“登录到Visual Studio时跨设备同步设置”

对我来说,就是在托管兼容模式下调试。在底部的“工具->选项->调试->通用”中,取消勾选“使用托管兼容性模式”。调试变成了即时的,而过去调试一行要花上一分钟。我怀疑这就是上面OP片段中“Managed”的意思。

更多信息在这里:https://blogs.msdn.microsoft.com/visualstudioalm/2013/10/16/switching-to-managed-compatibility-mode-in-visual-studio-2013/

对我来说是

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

一旦我取消了这个选项,我的调试开始时间从45-60秒下降到0-5秒。

每次我重新编译到本地主机,而开发它需要几分钟。这让人非常沮丧。在尝试了无数次修复后,包括将其全部放在SSD上。我找到了真正有效的方法。我创建了一个ramdisk,并将整个项目放在其中。重新编译到本地主机现在不到10秒。也许不是很优雅,但确实有效。

这可能会帮助到一些人, 我有同样的问题,发现我有SD卡驱动器e:\ 移除我的SD卡后,问题得到了解决

您的“我的文档”文件夹映射到网络共享?

即使您的解决方案是本地的,而不是在网络共享上,IIS Express的启动也需要分钟而不是几秒钟。在regedit.exe中,验证HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders\Personal指向%USERPROFILE%\My Documents

如果不是,请更改它或要求网络管理员为您的策略破例。

我的问题是由于每次开始调试时都在构建项目。这篇文章中的所有其他解决方案都略有帮助,但仍然导致我不得不等待项目完成。

我的解决方案,以避免构建每次开始调试:

  • 进入Solution Explorer ——比;右键单击Your Solution File ——比;单击Properties

  • 在左侧的“Property Pages ——比;”中,选择“Configuration ——比;”,取消选中“Build

  • < p >点击# EYZ0

  • 确保visual studio以管理员打开

  • Debug Attach to Process

  • 单击复选框Show processes from all users 找到并选择名为w3wp.exe 的进程,单击Attach ->当警告出现时,点击Attach

现在您可以在localhost中导航到想要调试的页面,如果您的文件中设置了断点,您可以立即开始调试,而不必等待项目构建!!

就我而言,

我意识到远程调试运行并消耗大部分资源。我真的不需要让应用程序64位,所以强制它为32位后,远程调试没有运行,执行速度更快。

在我的情况下,问题是一个外部运行的exe文件-即:

WUDFCompanionHost.exe

"Windows Driver Foundation - User-mode Driver Companion Framework Host Process".

进程,该进程稳定地占用了10%的CPU。杀死它直接帮助,在一秒钟内页面已经加载。

另一个可能的原因是预编译存在于文件系统中的旧项目,但已从visual studio中删除或部分删除。

我有一个解决方案,在构建后需要3.5分钟才能加载,我查看了临时ASP中的时间戳。NET文件,并看到3分钟的延迟是在旧项目中的一个文件上。看看VS &该项目“不可用”。从VS中删除,从文件系统中删除,现在我们只剩8秒了。

在解决方案文件夹中删除.vs文件夹,为我修复了VS2019中的速度缓慢问题。

正如标题所说,VS调试是缓慢的。我找不到我的问题,所以把它贴在这里,也许能帮到别人。

在我的例子中,缓慢的调试是在IIS托管的网站上。

  • Vs 2019年(16.4.4)
  • Vs 2017 (15.9.19)
  • Windows 10(1909年)
  • IIS (10.0.18362.1)
  • 边缘(44.18362.449.0)

在第一次网站加载后,它的工作很好,但1分钟后,它变得滞后。请求等待1-2分钟(F12网络选项卡),然后我的断点才能处理它们。我所有活跃的浏览器里都有。

< p >解决方案:

为了弄清楚问题出在哪里,我花了4-5个小时。我使用Edge + Chrome的工作流程。目前我只使用Chrome(与分离的用户配置文件)。

帮助我的链接:https://answers.microsoft.com/en-us/windows/forum/all/iis-running-very-slowly-after-windows-10-upgrade/dae433ba-4efe-45ab-aa66-824e6fa92b51

另一个关于时间的最后解决方案是修复VS安装。

  • 转到Tools => Get Tools and Features
  • 找到现有的VS安装,在more按钮下选择repair
    • 例如:Visual Studio Enterprise 2019安装。
    • 李< / ul > < / >

对我来说IIS没有运行。 打开IIS,传播站点并“start"

.默认网站