Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

We use App Buddy as our CI/CD system. Today we migrate project from ASP.NET Core 3.1 to NET 5. After that dotnet build start consuming a lot of RAM (allocate about 10-12GB) and we dont have as much memory on our server.

On our CI/CD server during dotnet build we get Microsoft.CSharp.Core.targets(71,5): error : Process terminated. System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.

I've tried use -maxCpuCount:1 but it doesn't work. Is it any possibility to limit memory which dotnet build can use?

like image 277
Wojciech Rak Avatar asked Sep 17 '21 13:09

Wojciech Rak


1 Answers

After almost one week of searching with team. We find a way to reduce ram consumption during build. We solve it by adding -p:RunAnalyzers=false and it help a lot! Other solutions didn't work.

dotnet build "project" -p:RunAnalyzers=false

We can also disable this in csproj (and not run analyzers in VS, but it not good idea in my opinion).

It's not 100% solving problem, but it allows us to run build, so I will not run analyzer by the time I find solution to limit ram usage of msbuild

like image 160
Wojciech Rak Avatar answered Oct 26 '22 17:10

Wojciech Rak