chore(#458163,#458177): add net10.0 target framework and bump to 5.8.0#117
chore(#458163,#458177): add net10.0 target framework and bump to 5.8.0#117mpKoczocik wants to merge 4 commits into
Conversation
…6.0.0 Retargets the two multi-targeted packages (Ev.ServiceBus, Ev.ServiceBus.Abstractions) from netstandard2.1;netstandard2.0;net8.0 to netstandard2.1;netstandard2.0;net10.0, and the five single-target packages (Apm, AsyncApi, HealthChecks, Mvc, Prometheus) plus all tests/samples from net8.0 to net10.0. Keeps netstandard support unlike the Ev.Idempotency precedent (US #446005) since this package has real external NuGet consumers unlike Idempotency. Bumps Azure.Identity (1.17.0 was deprecated), Microsoft.Extensions.* to 10.0.9, Elastic.Apm, AspNetCore.HealthChecks.AzureServiceBus, and test tooling (Moq, Microsoft.NET.Test.Sdk, coverlet, FluentAssertions capped at 7.2.2 to avoid the v8+ commercial license, xunit kept on the v2 line). Replaces Ev.ServiceBus.Mvc's legacy Microsoft.AspNetCore.Mvc.Abstractions/Core 2.2.x package refs with a FrameworkReference to Microsoft.AspNetCore.App. Collapses the CI workflows' dead 3.1/5.0/6.0/8.0 SDK setup steps (nothing in the repo has targeted them for years) into a single .NET 10 setup step. Fixes two FluentAssertions 7.x compile breaks where StatusCodes.Status200OK (int) no longer implicitly compares against HttpStatusCode via Should().Be(). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Reworks the previous commit per feedback: don't drop net8.0 from src/ projects, add net10.0 alongside it instead (non-breaking) - only samples drop net8.0 (dev-only, not published). Tests multi-target net8.0;net10.0 where possible; AsyncApi.UnitTests and Mvc.UnitTests stay net10.0-only since they reference the now net10.0-only sample projects. Reverts the Microsoft.Extensions.* bump to 10.0.9 (no longer needed since net8.0 stays) but bumps Microsoft.Extensions.Diagnostics.HealthChecks to 8.0.11 specifically - AspNetCore.HealthChecks.AzureServiceBus 9.0.0 requires it, staying at 8.0.0 triggered a NU1605 downgrade error. Changes the version bump from 6.0.0 to 5.8.0 (minor, non-breaking) and rewrites the CHANGELOG entry accordingly. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The UnitTests and HealthChecks.UnitTests projects multi-target
net8.0;net10.0, but the PR Gate workflow only set up the .NET 10 SDK -
collapsed too far when the tests were net10.0-only. dotnet test needs the
net8.0 runtime installed to launch the net8.0 test binaries ("You must
install or update .NET to run this application"), causing PR Gate run
29839325480 to fail on the Test step despite Build succeeding.
publish-nugets.yml doesn't run tests (build/pack/push only), so the .NET 10
SDK alone is sufficient there to build the net8.0 targets via restored
targeting packs - no equivalent fix needed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ublish workflow Addresses PR #117 review feedback from @benspeth: - keep the .NET 8 SDK setup in publish-nugets.yml for now (was dropped when the workflow only needed net10.0) - the net10.0-conditional Microsoft.Extensions.* package groups were still pinned at 8.0.0 (copy-pasted from the net8.0/netstandard2.1 groups) - bump them to 10.0.9, matching the platform-wide pin used by Shared.Notifications. Applied consistently to every sibling occurrence of the same pattern (Ev.ServiceBus, Ev.ServiceBus.Abstractions, Ev.ServiceBus.HealthChecks, Ev.ServiceBus.Prometheus), not just the one line flagged in review. This creates a transitive requirement (Ev.ServiceBus's net10.0 Microsoft.Extensions.Logging 10.0.9 requires Microsoft.Extensions.DependencyInjection >= 10.0.9), which surfaced two more NU1605 downgrade errors in Ev.ServiceBus.TestHelpers and Ev.ServiceBus.HealthChecks.UnitTests - both still referenced Microsoft.Extensions.DependencyInjection unconditionally at 8.0.0. Split those into net8.0/net10.0 conditional groups too. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
AI Code Review — net10.0 migrationOverview: Adds Code Quality / Conventions
Potential Issues
Test CoverageTest plan reports SecurityNo security-sensitive code paths touched. VerdictNo blocking issues. Clean, well-scoped, low-risk migration PR. Suggested follow-ups: (1) fix the CI-workflow description line to match the actual diff, (2) optionally spot-check Posted by an AI reviewer (Claude Code). |
Summary
net10.0as an additional target framework alongsidenet8.0(andnetstandard2.0/netstandard2.1on the two core packages) across all 7 packablesrc/projects — non-breaking, existing net8.0 consumers unaffectednet10.0(dev-only, not published)net8.0;net10.0where possible (UnitTests,HealthChecks.UnitTests,TestHelpers);AsyncApi.UnitTests/Mvc.UnitTestsstay net10.0-only since they reference the now net10.0-only sample projectsAzure.Identity(1.17.0 was deprecated),Elastic.Apm,AspNetCore.HealthChecks.AzureServiceBus(and itsMicrosoft.Extensions.Diagnostics.HealthChecksfloor to 8.0.11 to avoid a NU1605 downgrade error)Ev.ServiceBus.Mvc's legacyMicrosoft.AspNetCore.Mvc.Abstractions/.Core2.2.x package refs with aFrameworkReferencetoMicrosoft.AspNetCore.AppRelated: US #458163, Task #458177
Test plan
dotnet build— 0 errorsdotnet test— all pass across net8.0 and net10.0 (344 total test runs, 0 failures)