Repository navigation
chore: migrate solution to .slnx - #296
Merged
Merged
Conversation
Run 'dotnet sln migrate' to convert DrawTogether.sln to the XML-based .slnx format, then remove the legacy .sln. Both files cannot coexist: a bare 'dotnet build' in the repo root fails with MSB1011 when more than one solution file is present, and CI invokes 'dotnet build' with no arguments. Verified: dotnet build -c Release (0 errors), all 8 projects present in the .slnx, unit tests pass 8/8.
Aaronontheweb
enabled auto-merge (squash)
October 28, 2026 22:14
The .slnx migration broke Test-windows-latest: Incrementalist 1.0.0 auto-discovers the solution, then hands it to Roslyn MSBuildWorkspace, which parses it with the legacy Microsoft.Build SolutionFile reader and throws 'InvalidProjectFileException: No file format header found. DrawTogether.slnx'. Upgrade incrementalist.cmd 1.0.0 -> 1.2.2. Its default StaticGraph engine reads .slnx correctly (verified locally: all 8 projects in the graph). Also pass -s DrawTogether.slnx explicitly, because 1.2.2's default solution glob is '*.sln' and would otherwise match nothing and exit 0 without testing anything - a silent no-op that loses Windows unit-test coverage. Verified: dotnet incrementalist run -s DrawTogether.slnx --dry lists all 8 projects.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Converts
DrawTogether.slnto the XML-based.slnxformat viadotnet sln migrateand removes the legacy.sln.Why remove the .sln and not keep both? CI runs
dotnet build/dotnet testwith no solution argument. With two solution files in the root, MSBuild fails withMSB1011: Specify which project or solution file to use. Verified locally — the deletion is required for the migration to be a no-op for CI.Verified
dotnet build -c Release(bare, no arg) → 0 errors, resolvesDrawTogether.slnxdotnet sln DrawTogether.slnx list)DrawTogether.Tests→ 8/8 passingNotes
.slnpath, so nothing else needs updating.