getsentry / getsentry/sentry-dotnet

Remove the .NET 11 preview workarounds at GA

Open
#5,547 1 comment 0 reactions 0 assignees View on GitHub
.NET Task
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.