Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 37 additions & 1 deletion documentation/general/UpdateToNewTargetFramework.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,40 @@
# This document is to track the list of changes we had to make to enable 7.0 when we branched in 2021. This will hopefully help us when we do this again in the future.
## Summary of work required to update TFMs

**Large updates**
- [Branding](https://github.com/dotnet/sdk/blob/main/eng/Versions.props#L6)
- Recommend doing in the VMR and fixing tests on backflow
- We had to disable a bunch of tests to merge the branding flow
- [KnownFrameworkReference](https://github.com/dotnet/sdk/blob/main/src/Layout/redist/targets/BundledTemplates.targets) update
- Should be straight-forward but tricky to get right
- Can be done at any time
- Retarget to net11
- Can be done before runtime work as you typically pin the new TFM to the N-1 versions before you have a runtime
- Likely requires updating tests
- [Update tests to target the new TFM](https://github.com/dotnet/sdk/blob/main/test/Microsoft.NET.TestFramework/ToolsetInfo.cs#L11)
- Use PreviousTargetFramework temporarily if you need to pin any tests to the N-1 runtime
- Disable tests if needed
- Use a NetTFMUpdate comment to make it easier to track down changes added
- Update templates
- Should also be possible to do before runtime update as templating targeting "newTFM" will just be pinned to N-1

**Miscellaneous**
- Fix versions after the N-1 GA as there should be RC placeholders
- Likely will need to pin to N-1 templates for any templates outside of the repo (like windows desktop)
- Will need to update restore-toolset for the N-1 runtime
- Will need to update global.json for a new SDK


### Example PRs from net11 update
- [Backflow from VMR](https://github.com/dotnet/sdk/pull/52242)
- [unwind test changes](https://github.com/dotnet/sdk/pull/52512)
- [Branding](https://github.com/dotnet/sdk/pull/50468)
- [BundledVersions](https://github.com/dotnet/sdk/pull/50329)

---

### Net7 TFM update list

The below is to track the list of changes we had to make to enable 7.0 when we branched in 2021. Many of these are not needed anymore or have changed but keeping it in the document for historical purposes as some of the more niche changes could be relevant.

**Key Maestro PRs**

Expand Down
Loading