Skip to content

Add .NET 12 support - #1

Closed
LoopedBard3 wants to merge 1 commit into
masterfrom
loopedbard3-add-net12-support
Closed

LoopedBard3 wants to merge 1 commit into
masterfrom
loopedbard3-add-net12-support

Conversation

@LoopedBard3

Copy link
Copy Markdown
Owner

Summary

Preemptively add .NET 12 support, following dotnet#2911 and including the composite ReadyToRun surface introduced in dotnet#2967. Based on the latest upstream master (9723646).

  • Add .NET 12 runtime moniker constants, cached runtime instances and cached toolchains for CoreCLR, NativeAOT, Mono, composite R2R, Mono WebAssembly and Mono WebAssembly AOT.
  • Advance CoreRuntime.Latest, the CoreRun fallback TFM, and local NativeAOT build defaults to .NET 12; add the dotnet12 package feed.
  • Add net12.0 choices to the C#, F# and VB templates without changing their default target frameworks.
  • Cover dotted and compact runtime spellings, cached instances, platform-specific TFMs, CLI toolchain selection, and generated target-framework settings. The experimental CoreCLR WebAssembly parser/toolchain already accepts arbitrary versions and is covered for 12.0 without adding a public experimental constant.

Current upstream already generalizes runtime parsing, MSBuild framework error mapping, and dotMemory/dotTrace support by runtime type/version, so those former per-version switch tables do not need new branches.

Validation

Targeted runtime detection/parsing, CLI, project generator and dotMemory/dotTrace tests:

  • net10.0: 313 passed, 2 skipped.
  • net472: 308 passed, 7 skipped, including the non-Core host fallback.
  • All three template JSON files parse and expose net12.0; the dotnet12 feed responds successfully.

No .NET 12 SDK is installed locally, so actual .NET 12 benchmark compilation/execution (including NativeAOT, R2R and Wasm workloads) is not yet validated. Kept as a draft for that follow-up.

Add .NET 12 monikers, cached runtimes and toolchains including composite ReadyToRun and Mono WebAssembly. Update development defaults and templates, and cover runtime parsing and CLI resolution.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@LoopedBard3

Copy link
Copy Markdown
Owner Author

Closing this draft because the PR creation tool targeted the fork instead of dotnet/BenchmarkDotNet. The feature branch is retained for the upstream draft.

@LoopedBard3 LoopedBard3 closed this Sep 8, 2026
@LoopedBard3
LoopedBard3 deleted the loopedbard3-add-net12-support branch September 14, 2026 18:13
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