As part of improving performance of local and CI builds, we've enabled using Ninja instead of MSBuild for building CoreCLR as well as the .NET Libraries and .NET Hosts native assets as an optional flag and enabled it in CI.
During the .NET 6 time frame, we plan to move to using Ninja exclusively on Windows and removing the MSBuild generator support from our native build scripts. This will enable a faster build by default, will remove the current confusion in our build scripts where we use two different MSBuild installations during our native builds (.NET CLI MSBuild for the initial build from the root build scripts, Visual Studio MSBuild for the native build), and will enable us to not have our minimum CMake version on Windows dictated by which Visual Studio tools version we use to compile. We'll do this in multiple phases, where generally each phase requires the phases before it to be complete and the last phase requires all of the previous phases to be complete.
As part of improving performance of local and CI builds, we've enabled using Ninja instead of MSBuild for building CoreCLR as well as the .NET Libraries and .NET Hosts native assets as an optional flag and enabled it in CI.
During the .NET 6 time frame, we plan to move to using Ninja exclusively on Windows and removing the MSBuild generator support from our native build scripts. This will enable a faster build by default, will remove the current confusion in our build scripts where we use two different MSBuild installations during our native builds (.NET CLI MSBuild for the initial build from the root build scripts, Visual Studio MSBuild for the native build), and will enable us to not have our minimum CMake version on Windows dictated by which Visual Studio tools version we use to compile. We'll do this in multiple phases, where generally each phase requires the phases before it to be complete and the last phase requires all of the previous phases to be complete.