Skip to content

Target .NET 11 / net11.0 #118583

@ViktorHofer

Description

@ViktorHofer

This issue tracks the infrastructure work that is required to target net11.0 for producing .NET 11 builds. The work tracked here starts being worked on when runtime branches off main for .NET 10 RC2 in mid August.

Phase 1 - Branding

The branding work needs to happen in a separate PR from the re-targeting work and must not update the assembly version. This means that the AssemblyVersion property needs to be hardcoded to 10.0.0.0 here:

<AssemblyVersion>$(MajorVersion).$(MinorVersion).0.0</AssemblyVersion>

  • Status box. Tick to mark phase 1 as completed.

Phase 2 - Re-targeting

After the branding work is done, the TFM re-targeting work can happen. There's a long list of things to do. For reference, here's the PR from last year for net10.0.

  • Add dotnet11 & dotnet11-transport NuGet feeds.
  • Update TFM properties so that NetCoreAppCurrent=net11.0, NetCoreAppPrevious=net10.0 and NetCoreAppMinimum=net10.0.
  • Update the globally set AssemblyVersion back to $(MajorVersion).$(MinorVersion).0.0.
  • Update the ApiCompat baseline versions to the latest officially released package version (should be P7 if this is worked on in August). Add a TODO marker and file an issue to track updating this version to 10.0.0 GA in November.
  • Update hardcoded 10.0.0.0 assembly versions in CompatibilitySuppressions.xml files (APICompat config).
  • Remove the DisablePackageBaselineValidation property and its comment so that we have APICompat validation for new packages during re-targeting.

WIP - Add more to this list

Phase 3 - Clean-up

  • Eventually remove net10.0 NuGet feeds when all moving dependencies are on the dotnet11 feeds
  • Change set(PRERELEASE 1) to 0 in eng/native/configureplatform.cmake in the release/10.0 branch so new compiler warnings don't fail the servicing build.

Leverage AI here as much as possible for the mechanical change. Might be a good opportunity for Copilot.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions