Skip to content

.sln -> .slnx#19585

Open
T-Gro wants to merge 4 commits intomainfrom
feature/move-to-slnx
Open

.sln -> .slnx#19585
T-Gro wants to merge 4 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

1 participant