From 9189dd81870e229c65d7c75db005297cce32b386 Mon Sep 17 00:00:00 2001 From: Tom Brewer Date: Thu, 10 Sep 2026 20:37:42 -0600 Subject: [PATCH] chore: retarget to net11.0 on the .NET 11 RC1 SDK Moves all eleven projects to net11.0 and pins the SDK in global.json, replacing a pin that denied prereleases. CI resolves the SDK from that file via setup-dotnet's global-json-file; static.yml's PUBLISH_DIR follows the TFM. Takes Mythetech.Framework and Framework.WebAssembly 0.19.0, whose transitive MessagePack pin clears the twelve advisory warnings Apollo.Client inherited through SqliteWasmBlazor. Microsoft runtime-train packages move to their latest stable, 10.0.12, including the stale 9.0.x Hosting and Logging pins. Nothing moves to the RC. Roslyn stays on 4.13.0-3.25056.7. OmniSharp.Roslyn 1.39.13 is compiled against that build, and while 4.13.0 stable exists for the core packages, the three ExternalAccess packages it depends on are prerelease-only, so no coherent stable set exists and a 5.x jump would cross a Roslyn major underneath OmniSharp's internal-API shims. The three *.Worker projects gain SelfContained=true and UseMonoRuntime=true. The .NET 10 mono toolchain workload manifest set both for every browser-wasm project; the RC1 manifest does not, and since a RuntimeIdentifier stopped implying self-contained in .NET 8, no runtime pack resolves and the build fails in WasmApp.Common.targets with "$(MicrosoftNetCoreAppRuntimePackDir)=''". Reproduced on a minimal console project outside this repo; both properties together restore the exact .NET 10 configuration. This only ever affected building the workers standalone (the solution build, and Apollo.Test, which references them): SlimWorker runs a worker's assembly inside the main app's runtime, and both the .NET 10 and RC1 client publishes carry all three worker assemblies. Removes four references .NET 11 reports as redundant via NU1510: System.Console (already flagged on .NET 10), Hosting.Abstractions in Compilation and Hosting, and DependencyInjection.Abstractions in Hosting. Apollo.Client disables trimming until GA: the RC1 IL trimmer overflows its stack on publish. The published framework directory grows from 88 MB to 111 MB. Verified against a true net10 baseline on the 10.0.101 SDK: build 0 errors and 142/0 tests on both, across repeated runs. Apollo.Client publishes and renders the editor in headless Chrome identically on both. --- .github/workflows/pr.yml | 2 +- .github/workflows/static.yml | 6 +++--- .../Apollo.Analysis.Worker.csproj | 10 ++++++++- Apollo.Analysis/Apollo.Analysis.csproj | 2 +- Apollo.Client/Apollo.Client.csproj | 12 ++++++++++- .../Apollo.Compilation.Worker.csproj | 10 ++++++++- Apollo.Compilation/Apollo.Compilation.csproj | 4 +--- Apollo.Components/Apollo.Components.csproj | 2 +- Apollo.Contracts/Apollo.Contracts.csproj | 2 +- .../Apollo.Hosting.Worker.csproj | 10 ++++++++- Apollo.Hosting/Apollo.Hosting.csproj | 4 +--- .../Apollo.Infrastructure.csproj | 2 +- Apollo.Test/Apollo.Test.csproj | 2 +- Directory.Packages.props | 21 ++++++++----------- global.json | 6 +++--- 15 files changed, 61 insertions(+), 34 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index b03ca7c..d6a8401 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -16,7 +16,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v4 with: - dotnet-version: 10.0.x + global-json-file: global.json - name: Install .NET WASM workload run: dotnet workload install wasm-tools diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index e3dcd67..764bd12 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -1,7 +1,7 @@ # Simple workflow for deploying static content to GitHub Pages name: Deploy Apollo env: - PUBLISH_DIR: Apollo.Client/bin/Release/net10.0/publish/wwwroot + PUBLISH_DIR: Apollo.Client/bin/Release/net11.0/publish/wwwroot on: # Runs on pushes targeting the default branch and PRs @@ -40,7 +40,7 @@ jobs: - name: Get latest .NET SDK uses: actions/setup-dotnet@v4 with: - dotnet-version: "10.0.x" + global-json-file: global.json - name: Install .Net WASM workload run: dotnet workload install wasm-tools @@ -70,7 +70,7 @@ jobs: - name: Get latest .NET SDK uses: actions/setup-dotnet@v4 with: - dotnet-version: "10.0.x" + global-json-file: global.json - name: Install .Net WASM workload run: dotnet workload install wasm-tools diff --git a/Apollo.Analysis.Worker/Apollo.Analysis.Worker.csproj b/Apollo.Analysis.Worker/Apollo.Analysis.Worker.csproj index a22f681..a977fd6 100644 --- a/Apollo.Analysis.Worker/Apollo.Analysis.Worker.csproj +++ b/Apollo.Analysis.Worker/Apollo.Analysis.Worker.csproj @@ -1,9 +1,17 @@ - net10.0 + net11.0 browser-wasm Exe true + + + true + true enable enable diff --git a/Apollo.Analysis/Apollo.Analysis.csproj b/Apollo.Analysis/Apollo.Analysis.csproj index d2745ae..31ae09b 100644 --- a/Apollo.Analysis/Apollo.Analysis.csproj +++ b/Apollo.Analysis/Apollo.Analysis.csproj @@ -1,7 +1,7 @@  - net10.0 + net11.0 enable enable diff --git a/Apollo.Client/Apollo.Client.csproj b/Apollo.Client/Apollo.Client.csproj index f9b066b..fcb897c 100644 --- a/Apollo.Client/Apollo.Client.csproj +++ b/Apollo.Client/Apollo.Client.csproj @@ -1,7 +1,7 @@ - net10.0 + net11.0 enable enable service-worker-assets.js @@ -11,6 +11,16 @@ false + + + false + + + diff --git a/Apollo.Compilation.Worker/Apollo.Compilation.Worker.csproj b/Apollo.Compilation.Worker/Apollo.Compilation.Worker.csproj index 3db86b9..fafa837 100644 --- a/Apollo.Compilation.Worker/Apollo.Compilation.Worker.csproj +++ b/Apollo.Compilation.Worker/Apollo.Compilation.Worker.csproj @@ -1,12 +1,20 @@  - net10.0 + net11.0 Exe browser-wasm enable enable true + + + true + true diff --git a/Apollo.Compilation/Apollo.Compilation.csproj b/Apollo.Compilation/Apollo.Compilation.csproj index 81d3222..63beef2 100644 --- a/Apollo.Compilation/Apollo.Compilation.csproj +++ b/Apollo.Compilation/Apollo.Compilation.csproj @@ -1,7 +1,7 @@ - net10.0 + net11.0 enable enable Apollo.Compliation @@ -16,8 +16,6 @@ - - diff --git a/Apollo.Components/Apollo.Components.csproj b/Apollo.Components/Apollo.Components.csproj index 0e1dbc1..8adbb5f 100644 --- a/Apollo.Components/Apollo.Components.csproj +++ b/Apollo.Components/Apollo.Components.csproj @@ -1,7 +1,7 @@ - net10.0 + net11.0 enable enable Mythetech diff --git a/Apollo.Contracts/Apollo.Contracts.csproj b/Apollo.Contracts/Apollo.Contracts.csproj index d7b2a6c..3e617d4 100644 --- a/Apollo.Contracts/Apollo.Contracts.csproj +++ b/Apollo.Contracts/Apollo.Contracts.csproj @@ -1,7 +1,7 @@  - net10.0 + net11.0 enable enable diff --git a/Apollo.Hosting.Worker/Apollo.Hosting.Worker.csproj b/Apollo.Hosting.Worker/Apollo.Hosting.Worker.csproj index 4d720b6..643040e 100644 --- a/Apollo.Hosting.Worker/Apollo.Hosting.Worker.csproj +++ b/Apollo.Hosting.Worker/Apollo.Hosting.Worker.csproj @@ -1,9 +1,17 @@  - net10.0 + net11.0 browser-wasm Exe true + + + true + true enable enable diff --git a/Apollo.Hosting/Apollo.Hosting.csproj b/Apollo.Hosting/Apollo.Hosting.csproj index e667805..24cb501 100644 --- a/Apollo.Hosting/Apollo.Hosting.csproj +++ b/Apollo.Hosting/Apollo.Hosting.csproj @@ -1,14 +1,12 @@  - net10.0 + net11.0 enable enable - - diff --git a/Apollo.Infrastructure/Apollo.Infrastructure.csproj b/Apollo.Infrastructure/Apollo.Infrastructure.csproj index 891fdcc..5aacff8 100644 --- a/Apollo.Infrastructure/Apollo.Infrastructure.csproj +++ b/Apollo.Infrastructure/Apollo.Infrastructure.csproj @@ -1,7 +1,7 @@  - net10.0 + net11.0 enable enable diff --git a/Apollo.Test/Apollo.Test.csproj b/Apollo.Test/Apollo.Test.csproj index 435dd0f..830cfcc 100644 --- a/Apollo.Test/Apollo.Test.csproj +++ b/Apollo.Test/Apollo.Test.csproj @@ -1,7 +1,7 @@  - net10.0 + net11.0 enable enable diff --git a/Directory.Packages.props b/Directory.Packages.props index 2896bd6..508798d 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -7,11 +7,11 @@ - - + + - - + + @@ -34,15 +34,12 @@ - - - - - + + + - - - + + diff --git a/global.json b/global.json index 69e101b..9e46b8b 100644 --- a/global.json +++ b/global.json @@ -1,7 +1,7 @@ { "sdk": { - "version": "10.0.100", + "version": "11.0.100-rc.1.26425.128", "rollForward": "latestMinor", - "allowPrerelease": false + "allowPrerelease": true } -} \ No newline at end of file +}