Visual Studio 编译器 (VBCSCompiler.exe) 在开始工作之前冻结并固定 CPU 四十五秒

Fes*_*ale 6 compilation build freeze visual-studio-2019

环境

我在 Windows 10 虚拟机上使用 Visual Studio 2019 版本 16.7.2,该虚拟机由 Parallels 在全新 MacBook Pro 上托管。该 VM 有 8 个虚拟处理器和 16 GB RAM。

VM 上仅安装 Visual Studio 之外的任何其他内容。

我正在尝试做什么

我正在尝试编译一个由 17 个项目组成的 Visual Studio 解决方案。这些项目相对较小。它们都是面向 .NET Core 3.1 的 C# 控制台应用程序或 DLL 库。

问题

通常,在清洁解决方案发生后大约十秒内执行重建解决方案。我全天执行的典型构建解决方案 (Ctl-Shft-B) 几乎是即时发生的。

但有时,在五次构建中,构建解决方案/项目会导致 VBCSCompiler.exe 消耗 99% 的 CPU 使用率,并在执行构建之前冻结大约三十到四十五秒。一旦开始执行构建,一切都会正常完成。这种一次又一次发生的长时间延迟让我的开发周期非常令人沮丧。我想找到一种方法来消除这种延迟

发生了什么变化

该构建在我的 Amazon Web Server Windows 2016 m4.xlarge VM 上执行良好。为了省钱,我最近改用了 Parallels VM。那就是问题开始的时候。

我想再次重申,Parallels VM 是干净的。那里除了 Visual Studio 之外没有安装其他任何东西。

我尝试过的

采用了以下策略,但没有效果。

(1) 我关闭了Defender实时病毒检查器。

(2)根据这篇文章中的信息,我去了工具| 选项| Nuget 包管理器 | 常规,未选中“允许 Nuget 下载丢失的软件包”和“自动检查丢失的软件包”

(3) 在工具| 选项| 项目和解决方案| 构建并运行,我将并行项目构建的最大数量设置为 1。

(4) 根据对不相关问题的回答,我了解到可以通过将“MS Build 项目构建输出详细程度”设置为“详细”来查看有关构建过程的更多信息。我就这么做了。我等待冻结发生,以便可以在冻结之前检查最后一行输出。内容如下:

Using shared compilation with compiler from directory: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Roslyn
Run Code Online (Sandbox Code Playgroud)

该行始终出现在冻结之前。

(5) 根据上面的输出,我在 Google 上搜索“共享编译”并发现了这篇文章

作为一名业余程序员,那里进行的讨论以及接受的答案中的链接远远高于我的薪资等级。这对我来说是难以理解的。如果答案在那篇文章中,我无法破译它。

关于如何解决这种间歇性冻结的任何想法?如果我无法弄清楚,我将不得不假设是我的 Parallels Windows 10 VM 引起了问题,然后恢复在 Amazon 服务器上进行开发。如果可能的话,我宁愿避免这种情况,因为会增加费用。

感谢您的考虑。

最好的,

费斯图斯