547

我无计可施。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:“Contact”、“Location”和“StatusCode”。每次调用显示模板时,IIS 似乎都会加载符号两次。因此,如果我要显示一个包含 100 个条目的表格,这些条目调用所有这三个显示模板,则加载了 600 个单独的符号。

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

我试过的:

  • Debug 或 Release 版本,没关系。
  • 将我的项目放在 Web 服务器上的完整 IIS 实现上,运行速度非常快,没有任何问题。
  • Cassini、IIS Express 7.5 和 IIS Express 8.0 都有这个问题。
  • 删除所有断点什么都不做。
  • Clean Solution或删除 .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每次调用它时都会重新编译我的显示模板,这又是数百次。我的理论是 Visual Studio 编译文件,将其保存到网络共享,然后以某种方式在其上标记新时间,然后 Visual Studio 认为文件已更改。因此,Visual Studio 再次重新编译它。虽然只是一个理论;我真的一点头绪都没有。

一方面,显然,我有离线文件(这是办公室里的台式电脑;我不在乎)。我将禁用,重新启动,然后明天重试。

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

如果涉及到它,我可以将它从 C 来回复制到网络共享。每次页面加载等待两分钟更烦人。

4

52 回答 52

714

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

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

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

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

  • 单击“...”按钮并在本地计算机上的某处创建/选择一个新文件夹以存储缓存的符号。我将我的命名为“符号缓存”并将其放入 Documents -> Visual Studio 2012。

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

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

  • 单击“确定”。

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

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

于 2013-01-02T00:50:28.657 回答
125

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

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

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

在 Visual Studio 2012 中禁用 IntelliTrace

于 2013-07-03T23:52:30.633 回答
79

这些都不适合我,但我在已删除的符号上找到了断点。似乎 2010 年就这样挂了。要查看这是否是您的问题,请执行 debug->windows->breakpoints 如果其中有任何问题,请删除它们。

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

于 2013-03-28T19:34:51.053 回答
43

我删除了“临时 ASP.NET 文件”文件夹,我的 localhost 页面加载得到了显着改善。这是路径... %temp%\Temporary ASP.NET Files\

于 2013-09-04T15:01:08.330 回答
32

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

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

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

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

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

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

rmdir C:\Users\\{username}\AppData\Local\Temp /s /q
于 2014-03-10T01:24:00.760 回答
32

你启用了FusionLog吗?

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

FusionLog 将大量日志内容写入磁盘。就我而言,只需在 RegEdit 上禁用它就可以解决所有问题。

这是注册表中的 FusionLog 键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

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

于 2014-07-03T14:16:58.930 回答
25

我想我可能最终至少知道了原因,尽管不是原因。当问题再次出现时,我注意到大量“conhost.exe”进程成为孤儿。我会关闭 Visual Studio,它们会保持打开状态。结束每个人的任务最终可靠地解决了问题。[希望]

(请注意,conhost.exe 不是 Visual Studio 进程,尽管 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-tabbing),并且 Visual Studio 将继续快速加载。但是,如果我再次打开 Windows 资源管理器,它几乎总是会回到超慢动作。

所以,如果你有一个重定向的网络共享,试一试。它肯定比在本地工作要好。

于 2012-09-25T13:47:14.043 回答
22

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

Debug -> Delete All Breakpoints
于 2013-09-06T15:30:01.413 回答
19

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

更新:我已关闭所有 IE 程序附加组件,它已恢复全速。一次打开它们显示 LastPass(在我的情况下)是罪魁祸首。我想我毕竟不能责怪 MS。

几年后...
如果您使用 Brave,您可以轻松访问您的扩展,并在调试时一次(或多个)关闭它们。

brave://extensions

只需单击切换滑块。请注意,除了 DuckDuckGo 隐私必需品之外,我的所有内容都已开启。它们没有被删除,只是暂时禁用。

在此处输入图像描述

于 2013-08-06T17:39:13.330 回答
19

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

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

做什么batch="false"

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

究竟在optimizeCompilations做什么?来源

ASP.NET 使用每个应用程序的哈希码,其中包括许多事物的状态,包括binandApp_Code文件夹和 global.asax. 每当 ASP.NET 应用程序域启动时,它都会检查此哈希码是否与之前计算的有所不同。如果有,则整个codegen文件夹(已编译和影子复制的程序集所在的位置)将被清除。

当启用此优化(通过optimizeCompilations="true")时,哈希不再考虑 bin,App_Codeglobal.asax。因此,如果这些更改我们不会清除该codegen文件夹。

参考:MSDN 上的编译元素

于 2015-09-10T21:56:59.633 回答
13

我在调试时也遇到了执行性能问题,我尝试了很多调试器选项。在我的情况下,当我更改此选项时实现了巨大的性能:

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

于 2013-06-04T08:06:24.520 回答
12

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

在“Visual Studio 2012”上,转到:

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

希望能帮助到你。

类似问题1、2

于 2012-11-21T12:52:49.460 回答
12

就我而言,它是带有 VS 2012 的 .NET Reflector Visual Studio Extension(版本 8.3.0.93)。每次Step Over (F10) 的调试需要 10 秒。

在 Visual Studio 中,转到Tools/Extensions and Updates...并禁用.NET Reflector Visual Studio Extension。不要忘记重新启动 Visual Studio。

于 2013-12-16T19:12:15.780 回答
11

就我而言,它是

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

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

于 2017-04-17T13:02:25.753 回答
10

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

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

在此处输入图像描述

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

于 2013-12-06T18:21:34.330 回答
10

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

  • 删除解决方案的 .suo 文件。
  • 删除临时 ASP.NET 文件(您可以在%WINDOW%\Microsoft.NET\Framework\\Temporary ASP.NET Files 找到它)
  • 删除应用程序中的所有断点。
于 2016-04-29T05:00:52.517 回答
9

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

我希望这有帮助。

于 2013-02-19T11:19:03.873 回答
9

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

在此处输入图像描述

于 2015-07-01T16:15:25.023 回答
6

如果有人注意到此行为来自左侧字段,请检查以确保您没有在 web.config 中设置任何断点。我一定是通过鼠标单击设置了一个,它确实减慢了所有调试操作。

于 2013-05-03T17:21:41.797 回答
6

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

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

我不得不说我们的机器具有很好的规格,可以非常快速地编译解决方案,所以这从来都不是问题。我们在 VS 2013 Ultimate 中编写代码。

于 2015-11-17T17:57:50.150 回答
5

清空符号缓存对我有用。

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

于 2013-10-29T15:40:35.147 回答
5

在 Visual Studio 中:

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

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

于 2014-10-20T20:33:08.467 回答
5

清除缓存等使用选项1& 2; 对于设置/故障排除选项3& 4,享受!

选项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:删除/重新创建临时文件夹

  • 命令>rmdir C:\Users\\{username}\AppData\Local\Microsoft\WebsiteCache /s /q
  • 命令>rmdir C:\Users\\{username}\AppData\Local\Temp /s /q

选项3来自 MSDN的 JMC(只是我的代码)选项

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

在此处输入图像描述


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

更多Visual Studio 设置 您还可以配置 Visual Studio 并禁用环境中的资源终止功能,不记得我从哪里得到的,但我很快就会发布更多的三个。

环境 -> 一般

  • 取消选中“根据客户表现自动调整视觉体验”</li>
  • 取消选中“启用丰富的客户端视觉体验”选中“使用硬件图形加速(如果可用)”环境 -> 自动恢复
  • 取消选中“每次保存自动恢复信息”</li>
  • 环境 -> 文件
  • 选中“无法将数据保存在代码页中时将文档另存为 Unicode”环境 -> 键盘
  • 将“ForceGC”设置为 ctrl+num1
  • 将“ReSharper_Toggle”设置为 ctrl+num0(如果使用了 ReSharper)
  • 将“ReSharper_EnableDaemon”设置为 ctrl+num8(如果使用了 ReSharper)环境 -> 启动
  • 将“启动时”设置为“启动时显示空环境”</li>
  • 取消选中“每次下载内容”环境 -> 同步设置
  • 取消选中“登录 Visual Studio 时跨设备同步设置”</li>
于 2017-02-22T06:55:08.183 回答
4

由于未知的 VS 扩展替换了默认的即时调试器,Asp.net 核心调试非常缓慢。

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

说明:https ://msdn.microsoft.com/en-us/library/ssc8234s.aspx?f=255&MSPPError=-2147217396

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

于 2016-11-29T23:16:29.687 回答
3

就我而言,我注意到禁用我的互联网连接会使其运行速度与使用 ctrl-f5 一样快,所以我去调试->选项->符号并取消选中所有 .pdb 位置。

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

请注意,禁用 Debug->Options->Debugging->General “启用源支持”或“要求源文件与原始版本完全匹配”不会有任何区别。

于 2013-01-01T15:59:31.080 回答
3

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

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

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

我已经“使用 Intellisense 验证函数名称”选中。(这里的信息。)

这比地狱慢(项目启动从 2 秒到 5 分钟)。

删除断点解决了它。

于 2013-07-10T09:09:53.513 回答
3

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

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

于 2014-01-01T00:51:39.607 回答
3

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

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

于 2015-01-12T06:09:03.200 回答
3

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

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

于 2015-03-13T09:47:31.393 回答
3

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

于 2015-05-13T09:43:27.297 回答
3

转到您的环境变量并查找键 _NT_SYMBOL_PATH。

删除它。

瞧,工作就像一个魅力。

于 2015-05-21T11:04:08.057 回答
3

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

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

只需关闭与项目相关的所有选项卡并只保持一个打开!

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

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

于 2016-01-24T18:26:02.950 回答
3

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

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

我确信上述解决方案也适用于其他默认设置。就我而言,我的符号加载设置有些问题,但即使我尝试了很多建议的解决方案,我也无法修复它。

于 2016-09-04T23:01:09.780 回答
2

部分视图也存在复杂性,即页面上存在无法立即识别的错误。像 Model.SomeValue 而不是 Model.ThisValue。它可能不会下划线并导致调试问题。这可能是一个真正的痛苦。

于 2013-10-16T15:09:00.000 回答
2

我不小心选择了“在源代码中显示线程”选项。取消选择单步执行代码是正常的。

在源代码中显示线程

于 2016-09-19T17:41:21.270 回答
2

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

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

如果不是,请更改它或要求您的网络管理员对您的策略进行例外处理。

于 2018-04-16T19:44:26.950 回答
1

我在使用 VS 2013 时遇到了这个问题。几个月以来,我的测试一直在调试,但突然出现了可怕的加载符号消息,我不知道我做了什么导致它。

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

我发现我可以毫无问题地删除所有这三个文件。我发现只需删除一个特定的.testsettings文件即可停止加载符号消息。我的噩梦结束了。

于 2016-02-12T00:28:26.153 回答
1

我将我的 Visual Studio 设置为使用 C# 作为默认语言的新工作。我还没有意识到我注定要在 VB 中编程。

我忘记了 C# 默认值,因为 VB 似乎工作正常。但是,单步执行代码会花费大量时间。在尝试了一些修复后,我绝望地将默认语言更改为 VB……宾果游戏!

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

于 2016-05-12T10:40:49.630 回答
1

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

于 2016-10-04T11:21:28.467 回答
1

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

于 2017-01-31T23:58:11.207 回答
1

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

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

希望这对某人有所帮助,因为我开始疯狂地尝试解决缓慢的调试问题

于 2017-02-15T15:48:01.157 回答
1

对我来说,我是在托管兼容模式下调试的。在底部的工具 -> 选项 -> 调试 -> 常规中,取消选中“使用托管兼容模式”。调试变得即时进行,过去通常需要一分钟才能完成一行。我怀疑这就是上面 OP 片段中“托管”的含义。

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

于 2017-03-31T12:50:50.217 回答
1

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

于 2017-07-21T05:52:10.470 回答
1

这可能对某人有帮助,我遇到了同样的问题,发现我的 SD 卡带有驱动器 e:\ 取出 SD 卡后问题得到解决

于 2017-07-26T10:22:37.380 回答
1

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

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

  • 转到 Solution Explorer ->右键单击Your Solution File ->单击Properties

  • Property Pages ->左侧,选择Configuration ->并取消选中Build

  • 点击OK

  • 确保您以管理员身份打开了 Visual Studio

  • 转到Debug -> Attach to Process

  • 单击复选框Show processes from all users ->查找并选择调用的过程w3wp.exe ->单击Attach->出现警告时,单击Attach

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

于 2018-08-15T16:02:08.170 回答
1

就我而言,

我意识到远程调试运行并消耗大部分资源。我真的不需要将应用程序设置为 64 位,因此在将其强制为 32 位后,远程调试没有运行,执行速度更快。

于 2018-12-28T20:39:00.470 回答
1

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

WUDFCompanionHost.exe

以的名义

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

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

于 2019-01-14T14:18:45.277 回答
1

另一个可能的原因是对文件系统上存在但已从 Visual Studio 中删除或部分删除的旧项目进行预编译。

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

于 2019-03-13T04:16:35.067 回答
1

删除解决方案文件夹中的 .vs 文件夹解决了我在 VS2019 中的缓慢问题。

于 2019-10-04T18:51:41.773 回答
1

正如标题所说,VS 调试很慢。我找不到我的问题,所以在这里发布,可能对某人有帮助。

就我而言,缓慢的调试是在 IIS 中托管的网站上进行的。

  • VS 2019 (16.4.4)
  • VS 2017 (15.9.19)
  • 视窗 10 (1909)
  • IIS (10.0.18362.1)
  • 边缘 (44.18362.449.0)

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

解决方案: 调试时不要将 Edge 与 IIS 一起使用。

为了了解问题我花了大约 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 “J马科斯”的答案。

于 2020-02-05T20:03:11.097 回答
1

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

  • 转到Tools=>Get Tools and Features
  • 找到现有的 VS 安装,然后repair在更多按钮下选择。
    • 例如:Visual Studio Enterprise 2019 安装。
于 2020-04-24T14:26:20.723 回答
-2

重启你的电脑

我知道这听起来太简单了,但它是唯一对我有用的东西。

于 2016-03-25T22:29:47.467 回答