Visual Studio 构建速度非常慢

85

这适用于2008和2010版本(也可能适用于之前的版本)。同时适用于C++和C#项目。

在初始构建(重新启动后)时,运行速度正常,并且CPU利用率相当不错。经过“一段时间”(即使用计算机进行“其他工作”),接下来的构建可能会非常缓慢,并且CPU利用率非常低。我发现唯一的修复方法似乎是重新启动,然后循环重新开始。这在WPF和非WPF项目中都会发生,尽管在WPF中要糟糕10倍。

这在不同的机器上都发生过,甚至在为不同组织工作时也是如此,因此我认为这是Visual Studio的问题,而不是环境问题。我已经尝试了通常的解决方法(谷歌搜索、关闭防病毒软件、Intellisense、Resharper等),目前期待着获得我所订购的SSD。

我的当前机器规格是2.7 GHz四核、4GB RAM、XP(还没有在工作中使用Win7),250GB硬盘等。

这个问题的原因是什么,如何解决?


如果我要猜的话,我会说Visual Studio保留了一定比例的可用内存,用于其缓存。当可用内存较少时,VS使用的内存也较少,因此缓存也较少。不过我不确定。 - Phillip Schmidt
在使用VS2010和WPF时遇到了同样的问题,我有一块固态硬盘,但并没有什么用。 - BrainSlugs83
嗯,多年来我在使用 VS2008 和 VS2010 这些本地 C++ 编译器时遇到过这个问题,但最近好像没有再出现过了。 - drescherjm
24个回答

0
在您的 YourProject.csproj 文件中,在 project 标签的最后一行添加 target 标签。
<Project>
.
.
<Target Name="PlatformVerificationTask" Condition="'$(SkipPlatformVerification)' 
    != 'true'" />  
</Project>

0

由于我是通过谷歌搜索来到这里的,所以我将发布我发现的解决方案,以解决我的特定问题。

我已经从.NET Core 1.1升级到.NET Core 2.1。这导致RazorGenerate和RazorTagHelper调用每个需要20秒钟。根据Daniel Crabtree的说法,这是由于.NET Core 2.1中的更改默认启用了Razor视图的预编译。

解决方法是将以下内容添加到您的.csproj文件中:

<PropertyGroup>
  <UseRazorBuildServer>false</UseRazorBuildServer>
</PropertyGroup>

来源: https://www.danielcrabtree.com/blog/444/speed-up-compilation-of-asp-net-core-2-1-projects


-1

我在使用 Visual Studio 运行任何命令或函数时遇到了同样的问题。在关闭实时防病毒保护后,运行时间从 10 秒减少到了 0.5 秒甚至更短的时间。有趣的是,防病毒软件会拖慢 C# 的运行时间,但对于 C++ 完全没有影响。


虽然你的经验可能是正确的,但 OP 表示他们已经完全关闭了防病毒软件,但这并没有帮助。此外,他们还遇到了 C++ 方面的问题。不过很高兴你找到了解决方案。 - Orion
嗯,从评论中我可以看出,这个问题在不同的PC上有不同的解决方案(或者原因也可能是具体类型的杀毒软件,因为我的是“Avira Antivirus”)。 - Bear Grylls

-3

将您的项目从SATA迁移到SSD。在SSD上安装Visual Studio。


这会带来速度差异,但它是可靠的。问题是关于Visual Studio陷入某些困境,导致它变得缓慢且资源利用率低。因此,一些通常立即运行的任务需要花费几分钟的时间 - 即使在没有更改硬件的同一台计算机上 - 直到Visual Studio随机“决定”再次表现出色。 - binki

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