From c382b2db18439bdb84b565e532b7b11760336a68 Mon Sep 17 00:00:00 2001 From: John Smith Date: Thu, 6 Aug 2026 20:03:57 +0100 Subject: [PATCH 1/2] fix(csproj): add RollForward Major so the tool survives a runtime upgrade .NET tools are framework-dependent applications. Roll-forward handles patch and minor automatically but does not cross major version boundaries, so a tool built for one major refuses to start when only a newer major is installed. The user sees "You must install or update .NET to run this application" while a perfectly usable runtime is listed in the same error. Verified against mcr.microsoft.com/dotnet/sdk:10.0, which carries only the .NET 10 runtime. A net8.0 build of this tool failed with exit 150 without the property and ran correctly with it, crossing two majors. The property writes "rollForward": "Major" into runtimeconfig.json at pack time. This matters now, while we still target net8.0 through net10.0, for anyone already on .NET 11, and it matters more in November when .NET 8 and 9 go out of support and the tool becomes .NET 10 only. Refs #22 Co-Authored-By: Claude Opus 5 (1M context) --- src/solrevdev.seedfolder.csproj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/solrevdev.seedfolder.csproj b/src/solrevdev.seedfolder.csproj index f9c5602..3dc1f13 100644 --- a/src/solrevdev.seedfolder.csproj +++ b/src/solrevdev.seedfolder.csproj @@ -4,6 +4,11 @@ Exe net8.0;net9.0;net10.0 latest + + Major enable true seedfolder From d29541de9b9a2e788597a2f38ae705a91d8b2628 Mon Sep 17 00:00:00 2001 From: John Smith Date: Thu, 6 Aug 2026 20:14:36 +0100 Subject: [PATCH 2/2] chore: bump version to 1.6.1 The RollForward fix only reaches users through a new NuGet package. Without a bump the release job would pack 1.6.0, `dotnet nuget push --skip-duplicate` would silently skip it because 1.6.0 is already published, and tag-release would then fail because v1.6.0 resolves to an older commit than the one being released. Patch rather than minor: from a user's point of view the tool failed to start and now starts. No API or behaviour change beyond that. --- src/solrevdev.seedfolder.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/solrevdev.seedfolder.csproj b/src/solrevdev.seedfolder.csproj index 3dc1f13..cb36cf9 100644 --- a/src/solrevdev.seedfolder.csproj +++ b/src/solrevdev.seedfolder.csproj @@ -14,7 +14,7 @@ seedfolder ./nupkg true - 1.6.0 + 1.6.1 solrevdev.seedfolder .NET Core Global Tool that creates a folder and copies dotfiles into it therefore seeding a folder. .NET Core Global Tool that creates a folder and copies dotfiles into it therefore seeding a folder.