Conversation
- Replace fsharp.formatting.commandtool 11.4.3 with fsdocs-tool 21.0.0
The old tool used MSBuild v15.1.0.0 which can't load the
SetRidAgnosticValueForProjects task from .NET SDK 8.x, causing project
cracking to fail silently. fsdocs-tool 21 uses Ionide.ProjInfo
for cracking and targets net8.0, resolving this incompatibility.
- Fix {{package-version}} -> {{fsdocs-package-version}} in all docs .fsx
files (correct fsdocs substitution key)
- Add FsDocsLicenseLink and FsDocsReleaseNotesLink to project file so
License and Release Notes nav links are properly populated
Closes #269
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dsyme
approved these changes
Mar 8, 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.
🤖 This is an automated PR from Repo Assist.
Problem
The [live docs site]((fsprojects.github.io/redacted) shows
{{fsdocs-list-of-namespaces}}literally instead of rendering the API namespace links. Several other template substitutions ({{fsdocs-license-link}},{{fsdocs-release-notes-link}}) also appeared as literal text.Root cause:
fsharp.formatting.commandtool 11.4.3embedsMicrosoft.Build.Tasks.Core v15.1.0.0, which is missing theSetRidAgnosticValueForProjectstask introduced in newer .NET SDK 8.x. This causes project cracking to fail silently withWarning: While cracking project files, no project files succeeded., which means no API docs are generated and no project metadata is read for template substitution.Fix
Three minimal, targeted changes:
1. Switch to
fsdocs-tool 21.0.0(.config/dotnet-tools.json)fsdocs-toolis the modern, separately-packaged successor tofsharp.formatting.commandtool. It:net8.0(vsnet5.0)The
fsdocscommand name is unchanged, sodotnet fsdocs build --properties Configuration=Releaseinpublish.ymlcontinues to work as-is.2. Fix
{{package-version}}→{{fsdocs-package-version}}in docs.fsxfilesThe
{{package-version}}key is not a built-in fsdocs substitution. The correct key is{{fsdocs-package-version}}, which fsdocs populates from the project'sVersionMSBuild property.3. Add
FsDocsLicenseLinkandFsDocsReleaseNotesLinkto project fileThese explicit properties ensure the License and Release Notes nav links resolve correctly in the sidebar.
Test Status
Verified locally:
dotnet tool restoresucceeds withfsdocs-tool 21.0.0dotnet fsdocs build --properties Configuration=Releasenow successfully cracks the main project (using Ionide.ProjInfo){{fsdocs-...}}placeholders{{fsdocs-list-of-namespaces}}substitution is performed (will populate with actual namespace links once the project DLL is built by the precedingdotnet test -c Releasestep in CI)Warning
The following domain was blocked by the firewall during workflow execution:
fsprojects.github.ioTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.