getsentry / getsentry/sentry-dotnet
Remove the .NET 11 preview workarounds at GA
- Dominant language
- C#
- Stars
- 770
- Forks
- 248
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 51
Description
## Description
PR #5529 added .NET 11 preview 7 support. Several changes there are workarounds for the preview specifically and should come out when .NET 11 reaches GA. They are individually commented in code, but nothing ties them together, so this issue is the checklist.
## To remove or revisit at GA
- [ ] **`ContainerBaseImage` pins** in `.github/workflows/build.yml` — two places: the `Integration test` step and the `Test AOT` step. The SDK derives a `runtime-deps` tag from the runtime version, giving `11.0.0-preview.7-noble-chiseled`, which doesn't exist: .NET 11 images moved from noble to **resolute**, and previews only ship under the floating `11.0-preview` tags. Once GA tags exist the derived tag should resolve on its own.
- [ ] **Preview package versions** in the `'$(TargetFrameworkVersion)' == 'v11.0'` item groups — `Microsoft.Extensions.*`, `Microsoft.AspNetCore.*` and `Microsoft.EntityFrameworkCore*` are pinned to `11.0.0-preview.7.26381.103` in `Sentry.Extensions.Logging`, `Sentry.AspNetCore.Blazor.WebAssembly`, `Sentry.AspNetCore.Grpc.Tests`, `Sentry.AspNetCore.TestUtils` and `Sentry.DiagnosticSource.Tests`. Move to stable.
- [ ] **`global.json`** — pinned to the preview SDK and its workload set (`11.0.100-preview.7.26410.2`).
- [ ] **`VersionSuffix=prerelease`** in `Directory.Build.props`, alongside `VersionPrefix=7.0.0`.
- [ ] **`ReferenceAssemblies.Net110`** declared locally in `Sentry.Compiler.Extensions.Tests` — tracked separately, see the linked issue.
## Probably permanent, but worth re-checking
- [ ] **`AppxGeneratePriEnabled=false`** for Windows TFMs on non-Windows hosts (`Directory.Build.targets`). MAUI 11 pulls in `Microsoft.Windows.SDK.BuildTools.MSIX`, whose PRI generation runs the Windows-only `makepri.exe`, so cross-building a `net11.0-windows` TFM from macOS/Linux fails. This is unlikely to change at GA, but it is a .NET 11-era addition rather than long-standing behaviour.
- [ ] **`10.0.x` in the `Install .NET SDK` step** of `.github/actions/environment/action.yml` — needed only while `global.json` pins the .NET 11 SDK *and* net10.0 is still a target framework.
## Refs
* .NET 11 support: #5527 / #5529
Contributor guide
Research direction
Use the checklist as the starting map, then inspect .github/workflows/build.yml, the listed project files, global.json, Directory.Build.props, Directory.Build.targets, and .github/actions/environment/action.yml. Confirm .NET 11 has reached GA, remove or revisit the preview-specific settings, and verify the stable SDK, package, image, and version configuration builds and tests successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, github-actions
- Domain
- build-system, ci-cd
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100