-
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
.SLNX format support #10794
base: main
Are you sure you want to change the base?
.SLNX format support #10794
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I propose explicit matching of filename extensions.
can replace existing .sln serializer with https://github.com/microsoft/vs-solutionpersistence/tree/main/src/Microsoft.VisualStudio.SolutionPersistence/Serializer/SlnV12 |
@kasperk81 we're going to use that deserializer in a follow-up PR. We're trying to make this PR the "minimum risk for potential backport to 9.0.1xx SDK" change, so keeping the existing sln behavior. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All looks as expected.
But I did just a quick pass - will go more in depth tomorrow
@@ -76,4 +76,8 @@ | |||
<FileVersion>$(VersionPrefix).$(FileVersion.Split('.')[3])</FileVersion> | |||
</PropertyGroup> | |||
</Target> | |||
<!-- SolutionPersistence --> | |||
<PropertyGroup> | |||
<MicrosoftVisualStudioSolutionPersistenceVersion>1.0.4</MicrosoftVisualStudioSolutionPersistenceVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to self-service push to dotnet-public feed? https://dev.azure.com/dnceng/internal/_wiki/wikis/DNCEng%20Services%20Wiki/882/Updating-the-dotnet-public-feed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not on nuget.org yet so we'll have to either wait for that (@richardstanton?) or get a more manual push going.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/microsoft/vs-solutionpersistence/blob/main/README.md has a badge linked to nuget.org, but currently it's returning 404. dotnet nuget push
missing somewhere :)
@@ -76,4 +76,8 @@ | |||
<FileVersion>$(VersionPrefix).$(FileVersion.Split('.')[3])</FileVersion> | |||
</PropertyGroup> | |||
</Target> | |||
<!-- SolutionPersistence --> | |||
<PropertyGroup> | |||
<MicrosoftVisualStudioSolutionPersistenceVersion>1.0.4</MicrosoftVisualStudioSolutionPersistenceVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not on nuget.org yet so we'll have to either wait for that (@richardstanton?) or get a more manual push going.
ProjectFileErrorUtilities.ThrowInvalidProjectFile( | ||
new BuildEventFileInfo(FullPath), | ||
$"InvalidProjectFile", | ||
$"No solution serializer was found for {FullPath}"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider a new localized string "UnrecognizedSolutionFormat" or similar. Though actually that makes the backport hard so maybe don't consider it too hard.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'll do this in the follow-up PR then
src/Build.UnitTests/Construction/SolutionFile_NewParser_Tests.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
commit suggestions Co-authored-by: Rainer Sigwald <[email protected]> Co-authored-by: Jan Krivanek <[email protected]>
Fixes #10266
Context
We currently use our own parser SolutionFile.Parse() to parse .sln files in order to build them.
In this PR I intergrate the new package Microsoft.VisualStudio.SolutionPersistence to parse the new format .slnx files.
Key differences in the SolutionFile from the package's SolutionModel:
Changes Made
Testing
Notes