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

标签 c# .net continuous-integration out-of-memory .net-5

我们使用 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/

相关文章:

c# - 如何使用get_video_info Youtube

rabbitmq - 如何使用 Github Actions 设置 rabbitmq 服务?

jenkins - 无法读取 Jenkins 管道作业中的 gradle.properties

c# - 使用 Microsoft Visual Studio 10 在项目中构建和运行单个文件

c# - C#中如何清空数组?

c# - 有没有办法在 C# 中隐式构造类型?

c# - 在 Closedxml SaveAs 方法中更改了 excel 的当前格式

ASP.NET - 服务器控制输出缓存

java - 如何以编程方式检查 AppEngine 应用程序版本是否已存在

c# - 如何让AsyncLocal流向 sibling ?