Repository navigation
Switch the solution to the .slnx format - #53
Open
xperiandri wants to merge 1 commit into
Open
xperiandri wants to merge 1 commit into
xperiandri wants to merge 1 commit into
Conversation
`dotnet sln migrate` produced `StringResourceVisualizer.slnx` from `StringResourceVisualizer.sln`, and the old file is removed. The projects and the solution items are the same. The project ids are the ones of the old solution, which is what Visual Studio writes into the file itself. The `.slnx` format is XML, much shorter than the `.sln`, and designed to reduce merge conflicts (https://devblogs.microsoft.com/visualstudio/new-simpler-solution-file-format/). Building it needs the .NET SDK 9.0.200 or later, or MSBuild from Visual Studio or Build Tools 17.13 or later. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Oct 27, 2026
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.
Summary
This pull request converts the solution from
StringResourceVisualizer.slntoStringResourceVisualizer.slnx, the XML solution format. It is the first pull request of a chain of small ones that modernize the build of the repository. The only new commit isSwitch the solution to the .slnx format; the extension code and the project files do not change.Chain, changes, things to know and verification
Chain
This pull request is part of a chain of small pull requests that all target
main. After #53 the chain has two branches that do not depend on each other: the AI agent files (#54) and the modernization of the build (#55 to #58). The last pull request (#69) merges both and updates the instructions, which live in the files of the AI branch. The branch of each pull request contains the commits of the ones it is stacked on, so GitHub lists those commits here until they are merged. Merge in this order and review only the commits that are new in each pull request:.slnxformat #53 – Switch the solution to the.slnxformat (first in the chain, no dependencies) – this pull request.slnxformat #53).slnxformat #53)dotnet build#58 – Build withdotnet build(stacked on Set the C# language version to 14 #57)dotnet build#69 – Update the instructions for the SDK-style projects, central package management, C# 14 anddotnet build(stacked on Build withdotnet build#58 and Add instructions, skills and MCP configuration for AI coding agents #54)Changes
StringResourceVisualizer.slnxreplacesStringResourceVisualizer.sln.dotnet sln migrateproduced it; the two projects and the solution items (.editorconfig,CHANGELOG.mdandREADME.md) are the same, and the project ids are the ones of the old solution (Visual Studio adds them to a.slnxanyway). The file has 9 lines instead of 38.build.yamlrunsmsbuildin the repository root without naming a solution, and the MSBuild of thewindows-2022image finds the.slnxby itself.Things to know
dotnet new slncreates it by default since .NET 10..slnxneeds the .NET SDK 9.0.200 or later, or MSBuild from Visual Studio or Build Tools 17.13 or later (the minimum that Microsoft states). A Visual Studio 2022 older than 17.13 cannot open the solution, andnuget restorecannot restore it (msbuild -restoreanddotnet restorecan, and the workflow usesmsbuild -restore). The extension supports Visual Studio 2022 from 17.10, so whether to require 17.13 of the contributors is a decision for the maintainer..slnxsolution of its users. It adds oneCompileline to the old-style test project, which the SDK-style conversion later in this chain makes unnecessary.Verification
.slnxwith the MSBuild of Visual Studio 2026 (18.12) gives no errors, the same 26 distinct warnings asmain, the same VSIX content (37 entries inDebugand inRelease), and the 4 tests pass. The machine has no .NET Framework 4.8.1 targeting pack, so the old-style projects were built with-p:TargetFrameworkVersion=v4.8, before and after.Buildrestores and builds the.slnxwithmsbuild /v:m -restore /p:OutDir=\_builtonwindows-2022(MSBuild 17.14.60; the command does not name the solution), runs the 4 tests and uploads the VSIX, which has the same 37 entries and sizes as the one built frommain(run). The stepPublish Test Resultsthen fails, because the third-party actionEnricoMi/publish-unit-test-result-action/windows@v2finds no Python interpreter on the image (No python3 interpreter found); it fails in the same way on the unchanged code ofmain(run in the fork), so it is not caused by this change and not fixed here.🤖 Generated with Claude Code