feat: .NET 11 - #91
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
CI and publishing still provision only the .NET 10 SDK and may fail to build the new target.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Upgrades the shared libraries to the .NET 11 RC toolchain.
Changes:
- Targets
net11.0with preview language features and runtime-native async. - Pins the .NET 11 RC SDK.
- Upgrades Npgsql’s EF Core provider to its .NET 11 RC version.
| File | Description |
|---|---|
global.json |
Selects the .NET 11 RC SDK. |
Directory.Packages.props |
Upgrades the Npgsql provider. |
Directory.Build.props |
Targets .NET 11 and enables runtime-native async. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Aligns this repo with the API repo's feat/dotnet11 branch. The solution already built on net11.0; these are the remaining gaps. - CI: dotnet-version 10.0.x -> 11.0.x in ci-build and publish. This was the real gap, still provisioning a .NET 10 SDK for a net11.0 solution. - LangVersion: preview -> Latest. C# 15 is already the default on the .NET 11 RC SDK (csc /langversion:? reports "15.0 (default)"), so an RC SDK does not imply preview. preview only unlocks unfinalized language features, which API needs for its discriminated unions but this repo does not use. runtime-async=on is a Features flag and is unaffected. - Drop OneOf: referenced by Internal.Common but used in no source file. API has removed OneOf entirely, so nothing depends on it transitively. - TUnit 1.68.17 -> 1.70.1, Testcontainers.Redis 4.14.0 -> 4.15.0. - Enable CentralPackageTransitivePinningEnabled, so transitive packages can be pinned from Directory.Packages.props without a per-project reference. Side effect: Internal.AspNet now lists Semver and Serilog as direct nuspec dependencies, since it receives them transitively from Internal.Common and both have PackageVersion entries. - Ignore TestResults/, written by the Microsoft.Testing.Platform runner. Debug and Release build clean with warnings-as-errors; 160 tests pass.
Conflict in Directory.Packages.props, resolved to the newer of each: - TUnit 1.71.0 from master (#90), superseding the 1.70.1 taken from the API repo. Downgrading would have reverted the dependabot bump. - Testcontainers.Redis 4.15.0 from this branch. Debug and Release build clean; 160 tests pass on TUnit 1.71.0.
Conflict in Directory.Packages.props: - Npgsql.EntityFrameworkCore.PostgreSQL stays at 11.0.0-rc.1.1 (this branch). - TUnit takes master's 1.72.4. Debug and Release build clean; 160 tests pass.

Summary by CodeRabbit