Skip to content

net10 to net11#20080

Open
T-Gro wants to merge 1 commit into
mainfrom
t-gro-net11-upgrade
Open

net10 to net11#20080
T-Gro wants to merge 1 commit into
mainfrom
t-gro-net11-upgrade

Conversation

@T-Gro

@T-Gro T-Gro commented Jul 22, 2026

Copy link
Copy Markdown
Member

Repo builds on the .NET 11 SDK and targets net11.0 (SDK + Arcade 11,
product TargetFramework net11.0, TestPlatform 18.0.1), plus the
adaptations that bump forces (fsi crossgen2 off, FSI #r "nuget:"
resolving shared-framework assemblies, generic netcoreapp ilverify
baselines, RegexOptions.AnyNewLine).

global.json floats to any local 11.x SDK (rollForward: latestMinor,
allowPrerelease); Arcade bootstrap keeps a concrete tools.dotnet.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No release notes required

@T-Gro
T-Gro force-pushed the t-gro-net11-upgrade branch from 5289759 to 1a8d8bb Compare July 22, 2026 20:32
@github-actions github-actions Bot added the AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed label Jul 22, 2026
Upgrade the repo to build on .NET 11 and target net11.0, plus the
adaptations the SDK/Arcade 11 bump forces.

Core version switch:
- global.json: sdk.version 11.0.100-preview.6.26359.118 with
  rollForward=latestMinor + allowPrerelease (newer local 11.x still wins).
  A 2-part "11.0" is not a valid concrete SDK version, so the muxer fell
  back to $host$ and the end-to-end tests built with the machine net10 SDK
  (NETSDK1045); a concrete version resolves .dotnet's net11 SDK.
  Arcade.Sdk 11.0.0-beta.26369.1.
- eng/TargetFrameworks.props: FSharpNetCoreProductTargetFramework net11.0.
- eng/Version.Details.xml + eng/Version.Details.props: Arcade.Sdk
  11.0.0-beta.26369.1 (+Sha) — the value Maestro flows from dotnet/arcade
  onto the net11 channel, not a hand-picked one.
- eng/Versions.props: MicrosoftTestPlatformVersion 18.0.1 (net11 SDK bundles
  vstest 18.x; Microsoft.TestPlatform.ObjectModel must track that generation).
- eng/common: regenerated to Arcade 11 (26369.1).

Arcade-11 / SDK adaptations:
- Microsoft.FSharp.Compiler.fsproj: NuGetRepack property casing, drop the
  obsolete UsingTask, add no-op PackageReleasePackages override (#19557).
- fsi.fsproj: PublishReadyToRun=false (crossgen2 preview crashes on fsi).
- tests/Directory.Build.props: mark .ComponentTests IsTestProject (excludes
  from SymStore PDB conversion that crashes on large test assemblies).
- FSharp.DependencyManager.ProjectFile.fs: resolve framework-provided
  assemblies (Microsoft.Extensions.* now in the shared framework) for
  FSI #r "nuget:"; RestoreEnablePackagePruning=false.
- regression-test-jobs.yml: install the compiler SDK into the TestRepo.

net11 test-behavior:
- EditorTests.fs: RegexOptions.AnyNewLine (2048) under NET11_0_OR_GREATER.
- CompilerAssert.fs: derive runtimeconfig runtime version from
  FrameworkDescription + rollForward LatestMinor (preview is semver-lower).
- ILChecker.fs: normalize System.Linq assembly extern (version-independent).
- DependencyManagerInteractiveTests.fs: on net11 Microsoft.Extensions.* are
  shared-framework, so #r "nuget:" resolves the ref-pack path and one root.
- ilverify.ps1: map versioned netN.0 baselines to generic netcoreapp;
  rename the two FSharp.Compiler.Service baselines accordingly.
- EndToEndBuildTests: MicrosoftTestPlatformVersion 18.0.1.

Validated: ./build.sh -c Release green (0/0); EmittedIL 1413 pass/0 fail;
EditorTests AnyNewLine pass; DependencyManager nuget-roots test pass;
ilverify FCS net11.0 exact-matches baseline.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@T-Gro
T-Gro force-pushed the t-gro-net11-upgrade branch from 1a8d8bb to dfd87d5 Compare July 23, 2026 06:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

1 participant