Main branch net12.0 transition status tracking
- Dominant language
- C#
- Stars
- 3.2k
- Forks
- 1.3k
- PR merge metrics
- PR metrics pending
Description
`11.0.1xx` branch has been created so `main` has become the .NET 12 development branch. This issue tracks the coordinated work needed for that transition.
The reusable background checklist is in [UpdateToNewTargetFramework.md](https://github.com/dotnet/sdk/blob/main/documentation/general/UpdateToNewTargetFramework.md). The net12 work should also incorporate the lessons from the [net11 transition tracker](https://github.com/dotnet/sdk/issues/50295), especially keeping `N-1` known-framework versions and RID lists isolated from the new current TFM.
## Current state
Planning; waiting for the .NET 11 branch split and net12 branding.
## Branching and product setup
- [ ] Update the download/build table for the .NET 11 RC branches and net12 `main`.
- [ ] Update branding so the .NET 11 servicing/release branches have the intended RC branding and `main` is `12.0.1xx-alpha`.
- [ ] Create the `11.0.2xx` branch for live work.
- [ ] Add the required inter-branch flow between `11.0.1xx` and `11.0.2xx`.
- [ ] Move localization to `11.0.2xx` after the appropriate RC snap.
## Target framework enablement
These steps should be completed roughly in order:
- [x] Add `net12.0` known framework references in `GenerateBundledVersions.targets`.
- [x] Freeze net11 package versions instead of leaving net11 bound to live current-product properties.
- [x] Add explicit net12 RID inheritance layers and keep net11 on `Net110*` RID snapshots so later net12 RID additions do not leak backward.
- [ ] Generate and inspect `Microsoft.NETCoreSdk.BundledVersions.props`; verify net12 completeness plus net11/net10 isolation.
- [ ] Flow net12 runtime, WindowsDesktop, and ASP.NET Core dependencies.
- [ ] Update `global.json` to a bootstrap SDK build that supports targeting net12.
- [ ] Retarget the SDK itself to net12.
- [ ] Update shared test framework constants and tests to target net12.
- [ ] Use `PreviousTargetFramework` for tests that must temporarily remain on net11.
- [ ] Mark temporary transition changes with `NetTFMUpdate` so they can be found and unwound.
- [ ] Retarget the default templates to net12.
- [ ] Update any build-time analyzer/package-generation commands that explicitly select the current TFM.
## Transition cleanup
- [ ] Pin out-of-repo templates, WindowsDesktop templates, and affected end-to-end tests to net11 until their upstream net12 artifacts are available.
- [ ] Update restore-toolset inputs for the net11 runtime where required.
- [ ] After net11 GA, replace temporary exact net11 framework-pack pins with `11.0.$(VersionFeature110)` and remove temporary comments.
- [ ] Re-enable or unpin tests and templates disabled during branding/runtime flow.
- [ ] Search for and remove all temporary `NetTFMUpdate` changes.
- [ ] Update [UpdateToNewTargetFramework.md](https://github.com/dotnet/sdk/blob/main/documentation/general/UpdateToNewTargetFramework.md) with the final net12 sequence, known-framework-reference invariants, and representative PR links for the next rollover.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.