-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request]: Support building the new Visual Studio solution file format (.slnx) #10266
Comments
Issue about slnx was created in past in msbuild and roslyn project. |
We all have independent units of work to do - but I expect MSBuild will need to be the 'first mover' before Roslyn can update to support the new format. |
Roslyn's MSBuildProjectLoader loads solutions here - it directly uses |
I feel strongly that we should not extend |
One potentially interesting question is what to do with SolutionFile once the new parser exists. My favorite option would be to fully delete SolutionFile and just use the other parser, but I strongly suspect that would break way too many people who currently call into our APIs directly. We could instead work to make all our APIs just redirect into the new parser, though we might have to add something extra on top if there aren't perfect analogues. To be pragmatic, it would probably be good to phase in the new parser so the team working on it has a chance to fix any bugs it may have before everyone's build relies on it working flawlessly. |
@rainersigwald from our discussion:
|
The change wave will be 17.12 :) |
Quick question, does this new solution format also include support for Directory.Solution.props and Directory.Solution.targets? According to https://learn.microsoft.com/en-gb/visualstudio/msbuild/customize-solution-build?view=vs-2022 the Directory.Solution.props and Directory.Solution.targets are only supported from MSBuild commandline, not inside VisualStudio |
I can check with the Solution dev team, but I would not expect support for those files to be added - the semantics of the solution file aren't changing with the new format, just the format of the file. |
It should support them the same way we do today: only when building in MSBuild/ |
Surayya`s PR (internal): https://devdiv.visualstudio.com/DevDiv/_git/DotNet-msbuild-Trusted/pullrequest/569790 |
I have wrote an SLNX file parser a few months ago. While I'm not certain if it directly assists with building SLNX files, it might be worth considering. |
What exactly is this issue blocked on? Is there something that could be done to unblock it? |
@tkapin it is blocked on the availability of the library we need from the VS solution folks in a form we can consume it. Right now we have some prototype work based on their Microsoft-internal code. |
Summary
The VS team has a new XML-based format for solution files that simplifies the current sln file format. When released, it will have an open-source parser, so tools like MSBuild and the dotnet CLI can consistently operate on the format. The new format is intended to reduce common customer pains like merge conflicts and readability, but not to drastically change the experience of working with solutions. MSBuild should be able to build these solutions.
Background and Motivation
For many developers, not being able to build this format will result in not using the new format at all - what use is an IDE-only file when your CI/CD system cannot process it?
Proposed Feature
We should support accepting .slnx files for builds, using all of the same rules as .sln files today. We should
This will require an OSS and public parser from the VS team to handle the new format.
Alternative Designs
No response
The text was updated successfully, but these errors were encountered: