-
Notifications
You must be signed in to change notification settings - Fork 75
Added SLNX and SLNF formats support and migrated to SLNX solution #723
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
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.
Pull Request Overview
This PR adds support for the SLNX solution format by updating tests, migrating solution parsing to use Microsoft.Build.Construction.SolutionFile, removing the Ionide.ProjInfo.Sln dependency, and updating the changelog.
- Updated test cases to handle both .sln and .slnx files (absolute and relative paths).
- Modified solution parsing logic in Lint.fs to use SolutionFile.Parse with platform‐specific path adjustments.
- Removed the Ionide.ProjInfo.Sln package reference and cleaned up associated references.
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
tests/FSharpLint.FunctionalTest/TestApi.fs | Updated test cases to parameterize solution file names and expected warnings. |
tests/FSharpLint.FunctionalTest.TestedProject/FSharpLint.FunctionalTest.TestedProject.slnx | Added a new SLNX format solution file. |
src/FSharpLint.Core/FSharpLint.Core.fsproj | Removed the Ionide.ProjInfo.Sln dependency and added an embedded resource. |
src/FSharpLint.Core/Application/Lint.fs | Replaced custom solution parsing with Microsoft.Build.Construction.SolutionFile.Parse and added exception handling. |
FSharpLint.slnx | Added a new solution file in SLNX format. |
FSharpLint.sln | Removed the old .sln file in favor of SLNX. |
Directory.Packages.props | Removed package reference for Ionide.ProjInfo.Sln. |
CHANGELOG.md | Updated changelog entries to reflect SLNX support and dependency removal. |
Nice |
Does
|
Yes, I've missed that... Thank you! |
@Numpsy pushed a commit |
An extra thought: Maybe .slnf files (solution filters) could be added as well? (That could be a separate change afterwards though) |
Great idea! |
c2b69e8
to
29d7263
Compare
@Numpsy implemented |
## [0.25.0] - 2025-07-11 - Migrate from `Paket` to `Directory.Packages.props` #722 [@xperiandri] - Migrate to .NET `9.0.201` and FCS `43.9.201` #722 [@xperiandri] - Write test logs to test context output #722 [@xperiandri] - Use string interpolation instead of `+` concatenation #724 [@xperiandri] - Run tests in parallel #728 [@xperiandri] - Remove `NoPartialFunctions` compiler workaround (#698) [@webwarrior-ws] - Add `SLNX` and `SLNF` format support and migrate to SLNX solution #723 [@xperiandri] Remove `Ionide.ProjInfo.Sln` NuGet package dependency - Remove `Newtonsoft.Json` NuGet dependency #725 [@xperiandri] - Add missing rule checks for FL0079-FL0081 #713 [@BennieCopeland] - Modify `.gitignore` to the Visual Studio standard one #735 [@xperiandri] - Add basic Copilot instructions and GitHub MCP #726 [@xperiandri] - Migrate `Fornax` to `0.16.0-beta002` and `FSharp.Formatting` to `20.0.1` #736 [@xperiandri, @Numpsy] - Update the build instructions to use `dotnet fsi` instead of `fake-cli` #734 [@Numpsy]
No description provided.