我们使用 App Buddy
作为我们的 CI/CD 系统。今天我们从 ASP.NET Core 3.1
迁移项目至 NET 5
.在 dotnet 构建开始消耗大量 RAM(分配大约 10-12GB)之后,我们的服务器上没有那么多内存。
在我们的 CI/CD 服务器上 dotnet build
我们得到 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% 解决问题,但它允许运行构建,所以当我找到限制 ms build 的 ram 使用的解决方案时,我不会运行分析器
关于C#:迁移到 NET 5 后在 dotnet 构建期间内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69224616/