Repository navigation
Target .NET 10 and 11; remove .NET 8 and 9 - #4922
Merged
Merged
Conversation
- Replace net8.0/net9.0 with net11.0 across framework, channel, UI, MAUI, testing, and benchmark projects (net10.0 retained) - Reference .NET 11 RC1 packages for the net11.0 targets; WCF uses the 10.x System.ServiceModel packages since there is no 11.x release, and MAUI drops Microsoft.Maui.Controls.Compatibility for net11 (unused) - Pin the .NET 11 RC1 SDK in global.json and install it plus .NET 10 in CI and release workflows; move the MAUI CI job to macos-26/Xcode 26.5 - Update release notes and CLAUDE.md Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dn4aKN7kqcG78x1HBWApk3
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dn4aKN7kqcG78x1HBWApk3
Multi-target the test projects in csla.test.sln so the net11.0 framework builds are exercised. Runtime-aligned package versions (Microsoft.Extensions.*, TestHost, etc.) come from a DotNetPackageVersion property in Source/tests/Directory.Build.props that matches each target framework. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dn4aKN7kqcG78x1HBWApk3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #4699
Closes #4348
Closes #4581
CSLA 11 now targets .NET 10 and .NET 11. .NET 8 and .NET 9 support is removed. Both reach end of support in November 2026.
netstandard2.0/2.1and .NET Framework 4.6.2–4.8 targets are unchanged.Changes
net8.0/net9.0replaced bynet11.0in Csla, Csla.AspNetCore, Csla.Blazor, Csla.Blazor.WebAssembly, Csla.Testing, the Grpc/RabbitMq/WCF channels, Csla.Windows, Csla.Xaml.Wpf, Csla.Xaml.Maui (net11.0-android/ios/maccatalyst/windows), and Csla.Benchmarks.net11.0targets reference .NET 11 RC1 packages (11.0.0-rc.1.26425.128, MAUI11.0.0-rc.1.26451.6). These need bumping to GA in November.System.ServiceModel.*release, sonet11.0uses the 10.x packages.Microsoft.Maui.Controls.Compatibilityhas no .NET 11 RC build and CSLA doesn't use it, so it's omitted fornet11.net11.0-androidsetsSupportedOSPlatformVersionto 24.0.net10.0-androidstays at 21.0.csla.test.slnnow target bothnet10.0andnet11.0(GraphMerger also keepsnet462), so both shipped .NET builds are tested. The Microsoft.Extensions.*, TestHost and similar packages take their version from aDotNetPackageVersionproperty inSource/tests/Directory.Build.props, which picks 10.0.0 or 11.0.0-rc.1 to match each target framework.Source/global.jsonpins the .NET 11 RC1 SDK (prerelease allowed). The CI and release workflows install it along with .NET 10. The MAUI CI job moves tomacos-26with Xcode 26.5, which the .NET 11 iOS workload requires.CslaGenerator.Testsproject (not in any solution) moves fromnet9.0tonet10.0. The release notes list the breaking change, and CLAUDE.md is updated.#if NET8_0_OR_GREATER/NET9_0_OR_GREATERguards are left alone. They still hold for net10/net11.Not in this PR
Support/Templatesstill reference published CSLA packages and net8/net9 framework choices.Verification
dotnet build Source/csla.test.slnwith SDK 11.0.100-rc.1: 0 errors. The trimming warnings are the same on net10.0 and net11.0.dotnet test Source/csla.test.sln(CI filter/settings): all passed on net10.0 and net11.0 in repeated runs. One run had a single intermittent failure incsla.netcore.test(net11.0) that didn't reproduce in six further runs.BusyStatusTests.WaitForIdle_WhenBusyWillWaitUntilNotBusyAnymorealso fails intermittently on main.Source/csla.benchmarks.slnbuilds.🤖 Generated with Claude Code
https://claude.ai/code/session_01Dn4aKN7kqcG78x1HBWApk3