ASP.NET MVC3 Razor视图 - 在VS2010中编辑极其缓慢

24

我有一个相对较小的ASP.NET MVC3项目。使用一段时间后,Visual Studio 2010在Razor视图中变得非常缓慢(其他文件类型工作正常)。所谓“缓慢”是指“每次按键约需要1秒才能注册”。不管按下的是什么键 - 输入单个字母与粘贴一屏标记的速度一样慢。在此减速期间,VS2010会消耗1个CPU核心的100%。重新启动VS2010后,所有东西都会再次顺利进行一小段时间,这种情况发生在任何和所有Razor视图中。

我的电脑不是最好的,但应该足够:Core 2 Duo 6700、4GB内存(目前只有75%用于VS2010缓慢等问题,因此不是RAM不足),Windows 7 x64。

该项目接近尾声,我记得大部分时间都没有问题。尽管如此,这种情况最近才开始出现,尽管我无法想象会是什么原因导致的。

有人对可能出错的原因或解决方法有什么想法吗?


3
你是否在使用 Resharper?我曾经遇到它会导致极度缓慢的情况。 - kmcc049
我正在使用AnkhSVN,虽然也安装了TFS客户端。我没有使用Resharper或任何其他类似的插件。尽管我正在使用一些小的插件,但这是个好主意,我会尝试禁用它们,看看会发生什么。 - Vilx-
尝试禁用AnkhSVN,看看是否有任何不同。我曾经遇到过其他SVN集成的类似问题。 - Henry
我在这个问题上添加了+1和相关性 - 对我来说问题越来越严重,我无法追踪它。已禁用所有附加组件,所有最新补丁以及运行Windows 2008 R2的Xeon四核超线程CPU。不仅Razor编辑器非常慢 - 在其他文件中也很糟糕。 - Andras Zoltan
我也遇到了这个问题。除了Razor视图之外,一切都正常。没有AV /除了jira、sp1、mvc工具之外的其他插件安装等。这样编码有点困难。 - Andrew
显示剩余14条评论
9个回答

6

插件是问题的罪魁祸首-TFS/AnkvSVN和ReSharper都曾给我带来麻烦。

逐一关闭它们,以确定哪一个(如果只有一个)导致了问题。

当你找到罪魁祸首后,确保随时更新任何修补程序。

在极端情况下,如果你需要长时间进行开发任务并且不需要它(例如,SVN可以在准备提交和检查时打开),则将其关闭。


3
我现在99%确定那是Jira插件所致。 - Vilx-
我完全不了解Jira,但是当ReSharper使其变慢时,我仍然不得不偶尔放弃VS。通常需要将其保持打开一周或两周,所以我不介意...反正我应该更经常地重新启动电脑。 :) - one.beat.consumer
4
给 Resharper 加个赞,但 6.1 版本导致我使用 Razor 编辑时速度变慢。 - Sara Gamage
我也刚刚卸载了Atlassian连接器,速度有所提升。另外一个需要注意的事情,特别是在工作中,就是确保你没有将自动保存到网络驱动器上。 - Ben Cull
我以为是某个扩展程序引起了问题,所以我卸载了Team Foundation Sidekicks,一切看起来都很好...直到CPU占用率再次出现。删除.suo文件似乎也解决了问题,但最终devenv.exe使用了我的25%的CPU。所以我按照这个链接所述的步骤做了一遍:https://dev59.com/32445IYBdhLWcg3wQX6G,最终摆脱了性能问题。希望这可以帮到你 :) - Mauricio Ramalho

2

通过安装Mvc Html5 Templates,我解决了这个问题。

安装完成后,我从“目标模式”组合框中选择了XHTML5,然后回到了HTML5。之后,粘贴就瞬间完成了!

编辑:我卸载了“Mvc Html5 Templates”,问题没有再次出现。也许与“HTML 5 Intellisense”有关。


1

你安装了SP1吗?它修复了一些与加载markup IntelliSense相关的性能问题。


1
运行资源监视器(CTRL+SHIFT+ESC,单击性能选项卡,然后在底部单击资源监视器按钮)。特别关注磁盘I/O和可能的CPU使用情况。 按总B/秒降序排序磁盘I/O。在输入时,查看是否可以识别导致问题的进程。希望它是病毒扫描器或其他著名的性能破坏者,而不是Visual Studio进程本身,这将没有什么帮助。

我会尝试,但我已经在标准任务管理器中检查过了。我非常确定是VS2010进程突然增加了CPU使用率,并且在此期间未触及HDD。而且,如果是其他原因,它不会仅在使用Razor视图时表现出来。我的意思是,真的,我可以Ctrl+Tab到一个.CS文件,一切都运行顺畅。然后切换回来,又卡了。 - Vilx-
我希望我能提供更多帮助,但那是一个非常不寻常的问题。此时此刻,我会删除不必要的VS2010插件,如果失败,重新安装VS2010。我知道这相当于Windows通用的“尝试重新启动”响应,但有时确实有效。如果您找到原因,请发布它--我对这个问题很好奇。 - Charles Burns
我已经尝试了所有可能的方法,除了/SafeMode。没错,明确是devenv.exe在消耗CPU资源。它并没有影响磁盘的使用。而且我也没有安装任何杀软或其他影响性能的软件。 - Vilx-

0
我在VS 2015的一个较大的cshtml文件中遇到了一个非常相似的问题,通过在“选项”>“文本编辑器”>“C#”>“格式”>“常规”中关闭所有自动格式化选项,问题得到了解决。

Automatic Formatting Options Off

在我完成必要的代码更改后,我会使用“Control+K,D”键组合来格式化页面。


0

你尝试在另一台机器上打开同一个项目了吗?这将让你知道问题是在项目还是VS安装中。很明显,但事件查看器中有没有任何信息?这时候你是否连接到域?


不同的机器 - 这是一个想法,但组织起来可能会有点困难。如果其他方法都失败了,也许我会尝试一下。我会检查事件查看器,但我99%确定它是干净的。是的,我在域中。 - Vilx-

0

你尝试过清理解决方案吗?

在我的情况下,高CPU使用率突然出现(WPF项目)。重启Visual Studio没有帮助,禁用/卸载插件也没有。但是清理解决方案确实有帮助!


我经常重新构建项目,这是一种清理+构建的方式(据我所知)。 - Vilx-

0

对我来说,问题最终是反病毒软件 - 我们在工作站上使用(或被迫使用)Sunbelt Vipre,只要我关闭主动保护(也就是完全禁用 AV),突然所有窗口中的性能问题都消失了。


就像我说的那样,我没有这种情况,使用/SafeMode可以帮助解决问题。不过这让我想知道 - 你的杀毒软件是否与DEP有关? - Vilx-
我发布了我的答案,因为不同的人似乎遇到了不同的问题,网络上没有其他的答案被接受。同样,这个SO在谷歌搜索结果中排名相当靠前(这也是我找到它的方式)。不认为与DEP有任何关系;DEP仅用于必要的程序,并且服务器是2008 R2版本;因此是64位的,这是硬件DEP。 - Andras Zoltan
嗯,是的,但防病毒软件有时会擅自添加他们自己不完美的软件DEP层。此外,我已经为所有内容开启了它,尽管我也使用带硬件DEP的x64。这只是一个疯狂的想法。 - Vilx-
是的,说得有道理;在某种程度上,这个问题让我们感觉像是在风中摇摆! - Andras Zoltan

0

很抱歉又要再添加一个答案,但似乎有很多不同的原因,所以让我们在这里列出所有可能的解决方法。

我尝试禁用ReSharper和其他插件-没有起作用。有效的方法是重新应用SP1

PS. 奇怪,我知道。别问,我也不知道... 我猜测是-VS在某个时候默默地“修复”自己,并恢复了一些非SP1组件。

PPS. 您还可以尝试禁用“Productivity Power Tools”插件。如果您已安装ReSharper,则几乎所有PPT功能都已在ReSharper中。

PPPS. 我有一篇博客文章,介绍了Visual Studio和ReSharper的几个性能提示,可能会有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接