With #58987, the entire repository can be built with a single build invocation on Windows: eng\build.cmd -msbuildengine vs -restore -all -pack -publish -BuildInstallers (that's what we use in the VMR to build aspnetcore).
The same should be possible when using dotnet msbuild as the entry-point by isolating the components that require desktop msbuild (vcxproj and wixproj) and building them with a shelled-out VS Dev Command Prompt which has desktop msbuild on the path. We do that in dotnet/runtime for similar VS only tools.