C#:迁移到 NET 5 后 dotnet 构建期间内存不足

C#: Out of memory during dotnet build after migrate to NET 5

我们使用 App Buddy 作为我们的 CI/CD 系统。今天我们将项目从 ASP.NET Core 3.1 迁移到 NET 5。在 dotnet 构建开始消耗大量 RAM(分配大约 10-12GB)之后,我们的服务器上没有那么多内存。

dotnet build 期间,在我们的 CI/CD 服务器上,我们得到 Microsoft.CSharp.Core.targets(71,5): error : Process terminated. System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.

我试过使用 -maxCpuCount:1 但它不起作用。是否有可能限制 dotnet build 可以使用的内存?

经过将近一周的团队搜索。我们找到了一种减少构建期间 ram 消耗的方法。我们通过添加 -p:RunAnalyzers=false 来解决它,它帮助很大!其他解决方案无效。

dotnet build "project" -p:RunAnalyzers=false

我们也可以在 csproj 中禁用它(而不是在 VS 中的 运行 分析器,但我认为这不是个好主意)。

它不是 100% 解决问题,但它允许我们 运行 构建,所以当我找到限制 msbuild 的 ram 使用的解决方案时,我不会 运行 分析器