For one project of mine I started having a curious issue. After adding a few, admittedly a bit complicated, classes my compile times under Linux shot to eternity. But that was only when running with dotnet
command line tools. In Visual Studio under Windows, all worked just fine.
Under dotnet
I would just see CoreCompile
step counting seconds, and then minutes. I tried increasing log level - nothing. I tried not cleaning stuff, i.e. using cached files - nothing. So, I tried cleaning up my .csproj
file - hm… things improved, albeit just a bit.
A bit of triage later and I was reasonably sure that .NET code analyzer are the culprit. Reason why changes to .csproj
reduced the time was because I had AnalysisMode
set quite high. Default AnalysisMode
simply checks less.
While disabling .NET analyzers altogether was out of question, I was quite OK with not running them all the time. So, until .NET under Linux gets a bit more performant, I simply included EnableNETAnalyzers=false
in my build scripts.
-p:EnableNETAnalyzers=false
Another problem solved.