Usamos App Buddy
como nuestro sistema CI/CD. Hoy migramos el proyecto de ASP.NET Core 3.1
a NET 5
. Después de que la compilación de dotnet comience a consumir una gran cantidad de RAM (asigne alrededor de 10-12 GB) y no tenemos tanta memoria en nuestro servidor.
En nuestro servidor CI/CD durante la dotnet build
, obtenemos Microsoft.CSharp.Core.targets(71,5): error : Process terminated. System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
Intenté usar -maxCpuCount:1
pero no funciona. ¿Existe alguna posibilidad de limitar la memoria que puede usar la dotnet build
?
Después de casi una semana de búsqueda con el equipo. Encontramos una manera de reducir el consumo de RAM durante la compilación. ¡Lo resolvemos agregando -p:RunAnalyzers=false
y ayuda mucho! Otras soluciones no funcionaron.
dotnet build "project" -p:RunAnalyzers=false
También podemos deshabilitar esto en csproj (y no ejecutar analizadores en VS, pero en mi opinión no es una buena idea).
No resuelve el problema al 100%, pero nos permite ejecutar la compilación, por lo que no ejecutaré el analizador cuando encuentre una solución para limitar el uso de RAM de msbuild.