Skip to content

Conversation

@xperiandri
Copy link
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings July 1, 2025 13:51
Copy link

Copilot AI left a 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.

@xperiandri
Copy link
Collaborator Author

@Numpsy

@Numpsy
Copy link
Contributor

Numpsy commented Jul 1, 2025

Nice

@Numpsy
Copy link
Contributor

Numpsy commented Jul 1, 2025

Does

else if target.EndsWith ".sln" then
need changing to add .slnx as well as .sln ?

@xperiandri
Copy link
Collaborator Author

Yes, I've missed that... Thank you!

@xperiandri
Copy link
Collaborator Author

@Numpsy pushed a commit

@Numpsy
Copy link
Contributor

Numpsy commented Jul 2, 2025

An extra thought: Maybe .slnf files (solution filters) could be added as well? (That could be a separate change afterwards though)

@xperiandri
Copy link
Collaborator Author

Great idea!

@xperiandri
Copy link
Collaborator Author

@Numpsy implemented slnf support

@xperiandri xperiandri changed the title Add SLNX solution format support and migrated to SLNX solution Added SLNX solution format support and migrated to SLNX solution Jul 6, 2025
@xperiandri xperiandri changed the title Added SLNX solution format support and migrated to SLNX solution Added SLNX and SLNF formats support and migrated to SLNX solution Jul 6, 2025
@xperiandri xperiandri merged commit 5c70edc into master Jul 6, 2025
6 of 8 checks passed
xperiandri added a commit that referenced this pull request Jul 11, 2025
## [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]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants