Skip to content

.sln -> .slnx#19585

Merged
abonie merged 5 commits intomainfrom
feature/move-to-slnx
Apr 16, 2026
Merged

.sln -> .slnx#19585
abonie merged 5 commits intomainfrom
feature/move-to-slnx

Conversation

@T-Gro
Copy link
Copy Markdown
Member

@T-Gro T-Gro commented Apr 14, 2026

  • Migrate 5 solutions to .slnx via dotnet sln migrate
  • Delete redundant solutions: FSharp.Editor, VSFSharpExtension, TupleSample (zero CI/script refs)
  • Remove Microsoft.FSharp.Compiler.slnx — was 1-project wrapper, reference fsproj directly
  • Remove FSharp.Benchmarks.slnx and its CI job / build flags (benchmark files remain in tests/)
  • Replace manually-curated file lists in solutions with shared buildtools/Misc/Misc.csproj using globs
  • Update all build scripts, CI pipelines, VSCode config, docs, .gitignore

T-Gro and others added 4 commits April 14, 2026 17:03
- Migrate 6 solutions to .slnx using `dotnet sln migrate`:
  FSharp, VisualFSharp, FSharp.Compiler.Service,
  Microsoft.FSharp.Compiler, FSharp.Benchmarks, LSPSolutionSlim
- Delete 3 redundant solutions:
  FSharp.Editor.sln (subset of VisualFSharp, zero CI/script refs)
  VSFSharpExtension.sln (subset of VisualFSharp, zero CI/script refs)
  TupleSample.sln (legacy 2016 test artifact, never referenced)
- Rename FSharp.Compiler.Service.sln.DotSettings to .slnx.DotSettings
- Update build scripts: eng/Build.ps1, eng/build.sh,
  eng/test-determinism.ps1, start-vs-FsharpSln.cmd
- Update CI pipelines: azure-pipelines-PR.yml,
  copilot-setup-steps.yml, commands.yml
- Update VSCode config: tasks.json, settings.json
- Update docs: README.md, DEVGUIDE.md, TESTGUIDE.md, test READMEs
- Update .gitignore with .slnx patterns

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Delete FSharp.Benchmarks.slnx
- Remove /Benchmarks/ folders from FSharp.slnx and VisualFSharp.slnx
- Remove Benchmarks CI job from azure-pipelines-PR.yml
- Remove -testBenchmarks flag from eng/Build.ps1 and eng/build.sh
- Remove benchmarking section from DEVGUIDE.md

The benchmark projects in tests/benchmarks/ remain on disk for
manual use but are no longer part of any solution or CI pipeline.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The solution was a 1-project wrapper around
src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj.
All callsites pass it to MSBuild via /p:Projects= which accepts
a project file directly. No solution needed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove /Docs/ (60+ individually listed md/fsx/css/img files across
8 subfolders including release-notes that grow every release),
/eng/ (3 files), and /Solution Items/ (3 files) folders.

These cannot be maintained as manual lists in slnx (no glob support).
Keep only project references and stable config files in other solutions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

✅ No release notes required

@T-Gro T-Gro requested a review from abonie April 14, 2026 17:42
- Remove LSPSolutionSlim.slnx (was only needed for GH copilot agent)
- Create VSFSharpExtension.slnx as slnx migration of VSFSharpExtension.sln
  with Misc.csproj for IDE visibility of miscellaneous files
- Remove LSPSolutionSlim build step from copilot-setup-steps.yml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants