From 7f391cc3eb97d2333be23bc94fcd32cea4616ad9 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Wed, 30 Sep 2026 13:09:50 +0200 Subject: [PATCH 1/2] initial work --- Directory.Build.props | 7 +++++-- Directory.Packages.props | 2 +- global.json | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index e56d6bb..a2f0c5a 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -23,18 +23,21 @@ - net10.0 + net11.0 enable - Latest + preview enable $(Product) $(Product.Replace(" ", "_")) $(Version) $(Version) true + + $(Features);runtime-async=on diff --git a/Directory.Packages.props b/Directory.Packages.props index 4f2bd17..6d9f1bd 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -5,7 +5,7 @@ - + diff --git a/global.json b/global.json index 7cceb99..5fb1b0c 100644 --- a/global.json +++ b/global.json @@ -1,8 +1,8 @@ { "sdk": { - "version": "10.0.100", + "version": "11.0.100-rc.1.26425.128", "rollForward": "latestMinor", - "allowPrerelease": false + "allowPrerelease": true }, "test": { "runner": "Microsoft.Testing.Platform" From c68cd9a7e7354983d1b57d09ffdaa5581391869b Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Wed, 30 Sep 2026 13:36:35 +0200 Subject: [PATCH 2/2] chore: finish .NET 11 migration, mirroring the API repo 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. --- .github/workflows/ci-build.yml | 2 +- .github/workflows/publish.yml | 2 +- .gitignore | 3 ++- CLAUDE.md | 2 +- Directory.Build.props | 2 +- Directory.Packages.props | 7 ++++--- Internal.Common/Internal.Common.csproj | 1 - 7 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index edec926..8e69fd3 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -24,7 +24,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 with: - dotnet-version: '10.0.x' + dotnet-version: '11.0.x' - name: Install dependencies run: dotnet restore diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9617547..d00614e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -28,7 +28,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 with: - dotnet-version: '10.0.x' + dotnet-version: '11.0.x' - name: Restore run: dotnet restore diff --git a/.gitignore b/.gitignore index b601890..45f0ae0 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ obj/ bin/ *.user -**/launchSettings.json \ No newline at end of file +**/launchSettings.json +TestResults/ diff --git a/CLAUDE.md b/CLAUDE.md index e7de5f8..e1dc9d8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -37,7 +37,7 @@ Solution file: `Internal.slnx` ## Build Configuration -- .NET 10.0, latest C# language version +- .NET 11.0 (C# 15 via `LangVersion=Latest`), runtime-native async (`runtime-async=on`) - Nullable reference types enabled globally - Central package management via `Directory.Packages.props` - `Directory.Build.props` enables implicit usings, XML docs, and treats warnings as errors in Debug diff --git a/Directory.Build.props b/Directory.Build.props index a2f0c5a..8b0eaff 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -28,7 +28,7 @@ enable - preview + Latest enable $(Product) $(Product.Replace(" ", "_")) diff --git a/Directory.Packages.props b/Directory.Packages.props index 6d9f1bd..6f0227d 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -2,15 +2,16 @@ true + + true - - - + + diff --git a/Internal.Common/Internal.Common.csproj b/Internal.Common/Internal.Common.csproj index 7f86594..f6be5cc 100644 --- a/Internal.Common/Internal.Common.csproj +++ b/Internal.Common/Internal.Common.csproj @@ -6,7 +6,6 @@ -