feat(post): .NET tools roll-forward article, dated 11 Aug 2026 - #23
Merged
Conversation
A net8.0 global tool will not start on a machine that has only the .NET 10 runtime, because roll-forward does not cross major version boundaries. Reproduced in Docker against mcr.microsoft.com/dotnet/sdk:10.0 and fixed with <RollForward>Major</RollForward>. The post is dated 2026-08-11, so Jekyll excludes it from every build until that date. Publish it by triggering a Pages build on or after the date. Also correct the publish script path in AGENTS.md. The script lives in ~/Dropbox/_shared/scripts/, not the weekly to-do folder.
The script only ever drives this blog. It names the repo, runs `bundle exec jekyll build` against it, checks that the branch is master and reads `_config.yml`. It has no other consumer, so keeping it in Dropbox meant AGENTS.md pointed outside the repository and the script could drift from the thing it operates on. It now lives at script/publish-post, alongside the existing script/cibuild, and follows the same bare-verb naming. The old name carried a "seedfolder" prefix, which was a misnomer: the script has nothing to do with that project. REPO_PATH is now derived from the script's own location rather than a hardcoded /Users path, so it runs from any clone on any machine and from any working directory. `script` is already in the exclude list in _config.yml, so none of this is served from the site. Verified with a build.
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.
Adds the article on why a .NET global tool stops working when the runtime it targets is no longer installed, and moves the publishing script into this repo.
The post
A
net8.0tool will not start on a machine carrying only the .NET 10 runtime. Roll-forward does not cross major version boundaries by default. Reproduced in Docker againstmcr.microsoft.com/dotnet/sdk:10.0and fixed with one MSBuild property,<RollForward>Major</RollForward>. Also covers whyglobal.jsonis the wrong tool for this, and the--allow-roll-forwardinstall flag users can fall back on.Timely: .NET 8 and .NET 9 both reach end of support on 10 November 2026.
The matching one-line fix to the tool itself is solrevdev/seedfolder#23. Merge that one first, so anyone following the post to the repo finds the property already there.
Publishing
Dated
2026-08-11, so Jekyll excludes it from every build until that date. Merging this does not publish it.On or after Tuesday 11 August:
Tuesday was chosen from traffic research: the Dew Drop publishes weekdays around 10:30 UTC and never at weekends, and Monday editions run about 40% longer so a link competes with more of them.
The script move
script/publish-postused to live in~/Dropbox/_shared/scripts/asseedfolder-blog-publish-future-post.sh, andAGENTS.mdpointed at a third path that no longer existed.It only ever drives this blog: it names the repo, builds it, checks
master, reads_config.yml. So it now sits alongsidescript/cibuildusing the same bare-verb naming, andREPO_PATHis derived from the script's own location instead of a hardcoded/Userspath, so it works in any clone on any machine.The old "seedfolder" prefix was a misnomer. The script has nothing to do with that project.
scriptis already in theexclude:list in_config.yml, so none of it is served from the site.Verified
--futureexcludes the post, so it stays invisible until Tuesday--futurerenders it correctlyog:imagepointing at the PNG,twitter:cardassummary_large_imagescript/does not reach the built site🤖 Generated with Claude Code