C#: Support `.slnx.` solution files.
In this PR we implement support for the .slnx file format - both for build-mode: none and autobuilder.
Even though it is discouraged to use SolutionFile.Parse (it is considered an internal implementation detail), it appears that parsing support for .slnx was introduced here. If we wan't to do it the supported way, we would basically need to copy the parsing implementation. IMO we should continue to use the exposed parsing functionality and only mirror the implementation in case it becomes deprecated.
We need to explicitly reference Microsoft.VisualStudio.SolutionPersistence for the new parsing to be applied.
This feature is now more crucial as .NET 10 uses the .slnx format as default, which is explained here
DCA looks good.