Skip to content

Move to the .NET 11 RC 1 SDK - #3475

Merged
nojaf merged 3 commits into
fsprojects:mainfrom
nojaf:sdk-11-rc
Sep 15, 2026
Merged

nojaf merged 3 commits into
fsprojects:mainfrom
nojaf:sdk-11-rc

Conversation

@nojaf

@nojaf nojaf commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Pin the SDK in global.json and add a mise.toml so mise installs it for this repository.

The F# 13 compiler removed --strict-indentation, since strict indentation is now the only mode (dotnet/fsharp#20106). The three --test: parallel compilation flags were redundant since SDK 10.0.200, where graph-based checking, parallel optimization and parallel IlxGen became the default (dotnet/fsharp#18998); the compiler only kept the old spellings for the .NET 10 period. Only --realsig+ remains, as it is still off by default.

Enable MSBuild's experimental multithreaded mode through a Directory.Build.rsp, with a .gitignore exception so the file is tracked.

Drop dotnet-fsharplint from the tool manifest: nothing invokes it any more. Bump fsharp-analyzers and FSharp.Analyzers.SDK to 0.39.2.

Pin the SDK in global.json and add a mise.toml so mise installs it for
this repository.

The F# 13 compiler removed --strict-indentation, since strict
indentation is now the only mode (dotnet/fsharp#20106). The three
--test: parallel compilation flags were redundant since SDK 10.0.200,
where graph-based checking, parallel optimization and parallel IlxGen
became the default (dotnet/fsharp#18998); the compiler only kept the
old spellings for the .NET 10 period. Only --realsig+ remains, as it
is still off by default.

Enable MSBuild's experimental multithreaded mode through a
Directory.Build.rsp, with a .gitignore exception so the file is
tracked.

Drop dotnet-fsharplint from the tool manifest: nothing invokes it any
more. Bump fsharp-analyzers and FSharp.Analyzers.SDK to 0.39.2.
fsharp-analyzers targets net10.0 and loads MSBuild from the SDK that
global.json selects. The runtime host never rolls a release app onto a
prerelease runtime while a release one is installed, so on a machine
with runtime 10 the tool started on 10 and failed to load the SDK 11
assemblies. Set DOTNET_ROLL_FORWARD_TO_PRERELEASE on the Analyze stage
of both analyzer pipelines, as the Docs stage already does for fsdocs.

Base the devcontainer on the sdk:11.0.100-rc.1 image so it can satisfy
global.json.
@nojaf
nojaf merged commit f75f86c into fsprojects:main Sep 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant