79

这适用于 2008 和 2010 版本(也可能是更早的版本)。也适用于 C++ 和 C# 项目。

初始构建(重新启动后)以正常速度运行并具有相当好的 CPU 利用率。在“一段时间”之后(即使用计算机处理“东西”),后续构建可能会运行得非常、非常缓慢,并且CPU 使用率非常低。我发现的唯一修复似乎是重新启动,然后循环重新开始。WPF 和非 WPF 项目都会发生这种情况,但 WPF 的情况会差 10 倍。

这发生在不同的机器上,甚至为不同的组织工作,所以我认为这是 Visual Studio 的事情,而不是环境的事情。我已经尝试过通常的方法(谷歌,关闭 AV、Intellisense、Resharper 等,目前期待获得我订购的 SSD)。

我目前的机器规格是 2.7gig 四核、4GB RAM、XP(还没有 Win7 工作)、250Gb 硬盘等

任何人都知道这可能是什么以及如何解决它?

提前致谢!

4

23 回答 23

121

试试这个,因为它对我有用:

Windows+R或从“开始”打开运行。

现在输入%temp%并从那里删除所有内容......

现在再次打开运行并prefetch从那里键入并删除所有内容。

现在打开 VS 看看性能。

于 2013-03-11T04:01:40.987 回答
32

尝试这个:

Devenv.exe /resetsettings

于 2013-02-01T07:17:29.637 回答
21

I had the same problem.

I had McAfee security center installed, by disabling the "Real time scan"

Building times did go from 40 seconds for a small project to 1 second.

于 2013-05-20T14:44:00.660 回答
17

检查 Windows 中的省电设置。将其设置为“高性能”(即使在桌面上)。这对我有帮助。

于 2016-02-05T12:16:09.170 回答
10

尝试使用 ProcessMonitor ( http://technet.microsoft.com/en-us/sysinternals/bb896645 ) 来查找 Visual Studio 在构建过程中所做的事情。添加过滤器“ProcessName is devenv.exe then Include”并进行一些研究。这对我很有用。

我有一个类似的问题 - 构建和调试过程非常缓慢 - 我可以使用 Process Monitor 解决它。我运行 Process Monitor 并看到 Visual Studio 进程多次读写一些 HTL 文件。它是程序集绑定日志 ( http://msdn.microsoft.com/en-us/library/vstudio/e74a18c4(v=vs.100).aspx ) - 存储有关库绑定信息的实用程序。一旦我启用了这个日志,这个实用程序会在我的硬盘上创建大约 8 Gb HTM 日志)它非常慢。然后我禁用日志记录,我的项目的构建时间从 10 分钟减少到 10 秒!

于 2014-07-04T10:12:21.657 回答
5

我在 Windows 10 上使用 VS2015 并且遇到了同样的问题。我清除了不起作用的 %temp% 和预取目录。然后我将省电设置从平衡更改为高性能并且它起作用了。

于 2017-03-13T03:28:34.767 回答
3

我没有看到这种类型的答案,所以我认为我的答案可能对某人有帮助。我对 VS 构建时间的问题是一个愚蠢的问题:我在另一台计算机上有源代码。每次我尝试构建它时,都必须与那台计算机建立连接,这导致 VS 冻结时间很长一段时间。在尝试了这里和其他地方的大多数解决方案后,我发现了这个问题。(我的头撞在桌子上的表情)

于 2018-05-24T10:56:20.003 回答
2

我遇到过同样的问题。删除解决方案目录中的隐藏.vs文件夹解决了问题。

于 2017-05-05T10:10:59.767 回答
1

如果单个解决方案中有多个项目,请尝试仅构建已更改的项目,而不是构建整个解决方案。即,Alt+B+U 而不是 Alt+B+B。

于 2014-12-23T06:34:00.410 回答
1

我对非常缓慢的 Visual Studio(构建任何东西大约需要 1.5-2 分钟)的解决方法是关闭无线网络。

除了有线网络之外,我还启用了无线网络。似乎我的计算机试图使用无线连接连接到无线网络不可用的本地服务器,这导致了长时间的延迟。

于 2013-03-03T07:15:05.547 回答
1

原因之一是 Visual Studio 不断重建相同的依赖项目,尽管没有任何改变。想象一下,一个解决方案有大量的项目,这些项目无缘无故地不断构建。这会浪费大量时间...

对此的主要解决方案是修改设置为“始终”的每个“复制到输出目录”。将其更改为“如果更新则复制”。

查看详细的构建日志可能会有所帮助。打开工具>选项>“项目和解决方案”>“构建和运行”。现在将“MSBuild 项目构建输出详细程度”设置为“诊断

有关更多信息,此线程讨论了这一点

于 2018-06-23T23:41:08.807 回答
1

转到工具 > 选项 > “项目和解决方案” > “构建和运行”。现在将“MSBuild project build output verbosity”设置为“Normal”或“Minimal”,其他设置“MSBuild project build log file verbosity”相同。

我之前将其设置为“诊断”,这导致构建持续时间较长。

于 2021-02-17T07:50:35.453 回答
1

如果它是 ASP.NET MVC 项目,请检查 .csproj 以查看是否<MvcBuildViews>true</MvcBuildViews>已设置。这可能会导致构建缓慢。

于 2015-07-27T04:10:34.460 回答
0

“Some time”大约有多长?(例如,小时?天?)

它可能就像您用完 RAM 一样简单。Ctrl-Shift-Esc 将加载进程监视器,您可以在其中查看内存利用率并杀死猪。一旦它运行不足,您的链接器将减慢尝试将内存交换到磁盘的速度(并且 Windows 通常不会报告交换开销,除非您打开系统利用率)。根据项目的大小,链接可以使用大量的内存制作表。

于 2012-08-23T16:08:09.330 回答
0

备份文件并删除此文件夹中文件夹中的所有内容。

C:\Users\{用户名}\AppData\Local\Microsoft\WebsiteCache

重新启动 Visual Studio 并检查性能。

希望这可以帮助!谢谢

于 2014-03-04T13:10:44.463 回答
0

检查您的 Internet 属性选项(连接)并确保Automatically detect settings已选中。

于 2014-09-05T14:06:35.033 回答
0

在某个时候,我有一个程序在几周后需要花费相当多的时间来编译。出于沮丧,我删除了解决方案和项目的调试文件夹。Visual Studio 所做的是首先重建整个解决方案(这确实需要一些时间),但在那之后,构建过程又恢复了原来的速度。不确定它是否也适合您。

于 2013-07-11T11:35:31.200 回答
0

作为快速检查,运行扫描以确保您当前没有任何东西感染您的系统,然后转到 Windows Defender 安全中心-> 病毒和威胁防护-> 禁用实时保护:

实时保护

在 Visual Studio 中重建您的解决方案,注意它所花费的总时间并在任务管理器中观察以查看反恶意软件服务可执行文件是否似乎正在消耗大量处理器时间。假设您的构建速度更快且 CPU 不那么繁忙,那么恭喜您,您已经确定了导致性能问题的原因之一。下一步是负责任地告诉 Windows Defender,不要完全关闭 Visual Studio,不要将其完全关闭。

于 2018-10-30T12:28:31.290 回答
0

由于我是通过 Google 搜索来到这里的,因此我将发布我找到的内容作为我特定问题的解决方案。

我已从 .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

于 2019-11-13T11:13:12.930 回答
0

我已经更新了所有的 NuGet 包并且它工作了!

于 2021-10-07T11:48:40.447 回答
0

就我而言,我使用项目目录中的“wwwroot”目录来存储几 GB 的数据。将“wwwroot”移到解决方案目录之外解决了我的构建时间。对于我的 .NET Core Web 应用程序,我编辑了 launchSettings.json 并添加了新的环境变量ASPNETCORE_WEBROOT

...
"profiles": {
    "Development": {
      "commandName": "Project",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_WEBROOT": "../../wwwroot"
      },
      "applicationUrl": "https://localhost:5001;http://localhost:5000"
    },
...
于 2019-08-01T20:05:15.177 回答
0

在 YourProject.csproj 中,在项目标签的最后一行添加目标标签

<Project>
.
.
<Target Name="PlatformVerificationTask" Condition="'$(SkipPlatformVerification)' 
    != 'true'" />  
</Project>
于 2020-12-24T04:05:55.503 回答
-1

我在 VS 上运行的任何命令或函数都存在同样的问题。禁用防病毒实时保护后,运行时间从 10 秒减少到 0.5 秒甚至更少。顺便说一句,有趣的是杀毒软件的行为正在减慢 C# 的运行时间,但 C++ 完全没问题。

于 2019-07-20T17:16:39.540 回答