Skip to content

Add .NET 10 LTS target support with multi-targeting#674

Merged
sfmskywalker merged 4 commits intodevelop/3.6.0from
copilot/add-dotnet-10-support
Dec 2, 2025
Merged

Add .NET 10 LTS target support with multi-targeting#674
sfmskywalker merged 4 commits intodevelop/3.6.0from
copilot/add-dotnet-10-support

Conversation

Copy link
Contributor

Copilot AI commented Nov 16, 2025

Adds .NET 10 (LTS, released Nov 11, 2025) as a target framework while maintaining backwards compatibility with .NET 8 and .NET 9.

Changes

Build Configuration

  • Directory.Build.props: Added net10.0 to TargetFrameworks property
  • Directory.Packages.props:
    • Removed MicrosoftVersion variable and inlined package versions for each target framework
    • Added conditional package versions for .NET 10 framework packages (Microsoft.AspNetCore., Microsoft.Extensions., Microsoft.JSInterop) with appropriate versions:
      • net8.0: 8.0.22 (with 9.0.11 for DependencyInjection.Abstractions to satisfy transitive deps)
      • net9.0: 9.0.11
      • net10.0: 10.0.0

CI/CD

  • .github/workflows/packages.yml:
    • Updated SDK setup to install .NET 8.x, 9.x, and 10.x
    • Changed Custom Elements publish target from net9.0 to net10.0

All projects now multi-target net8.0;net9.0;net10.0. NuGet packages will contain assemblies for all three frameworks in their lib directories.

Notes

No System.Linq.Async conditional references required (package not used in repository).

Original prompt

This section details on the original issue you should resolve

<issue_title>Support targeting .NET 10 (LTS)</issue_title>
<issue_description>### Summary

As .NET 10 has now been released as a Long‑Term Support (LTS) version (released November 11, 2025) and will receive support until November 14, 2028, ([Microsoft][1]), it would be beneficial for this project to add targeting support for .NET 10 as a target framework.

Motivation

  • Aligning with the latest LTS version ensures the project remains on a well‑supported platform with security patches and updates for three years. ([Microsoft][2])
  • .NET 10 brings notable enhancements (performance improvements, new SDK features such as file‑based apps, etc.) that could benefit consumers of this library. ([DEV Community][3])
  • Many downstream applications will migrate to .NET 10 in the coming months; adding support now will ease their upgrade paths and increase compatibility.

Proposed Changes

  • Update the project’s .csproj (or build configuration) to add net10.0 as a target framework.
  • Ensure that CI/build infrastructure is updated to include .NET 10 SDK and test the project under this newer target.
  • Address any API‑breaks or deprecations that affect compatibility with .NET 10 (if any).
  • (Optional) Consider multi‑targeting both the current version (e.g., net8.0 or net9.0) and net10.0, to maintain backward compatibility while enabling forward support.

Impact & Considerations

  • Minor build adjustments may be needed but the benefits in stability and future‑proofing are substantial.
  • Users on older framework versions will not be impacted (assuming multi‑targeting); this is additive support.
  • We should test key scenarios (e.g., platforms, runtime behaviours) under .NET 10 to confirm compatibility.

Requested Action

Please schedule or prioritise adding .NET 10 target support in the next release cycle. If there are any blockers or compatibility concerns known today, let’s call them out here so we can plan accordingly.</issue_description>

<agent_instructions>Maintain backwards compatibility with .NWT 8 and .NET 9. Be on the lookout that some packages related to async linq are now part of .NET 10, and so for some projects, you might need to conditionally include the package when < .NET 10.

Example:

<!-- System.Linq.Async only for .NET 8 and 9 - .NET 10 has native async LINQ support -->
    <ItemGroup Condition="'$(TargetFramework)' != 'net10.0'">
        <PackageReference Include="System.Linq.Async" />
    </ItemGroup>

This PR shows a successful upgrade to .NET 10.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>
Copilot AI changed the title [WIP] Add targeting support for .NET 10 LTS Add .NET 10 LTS target support with multi-targeting Nov 16, 2025
Copilot AI requested a review from sfmskywalker November 16, 2025 17:23
@sfmskywalker sfmskywalker marked this pull request as ready for review December 2, 2025 09:43
Copilot AI review requested due to automatic review settings December 2, 2025 09:43
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds .NET 10 LTS (released Nov 11, 2025) as a target framework while maintaining backwards compatibility with .NET 8 and .NET 9. The changes enable multi-targeting across all three frameworks so NuGet packages will contain assemblies for net8.0, net9.0, and net10.0 in their lib directories.

Key Changes:

  • Extended multi-targeting to include .NET 10 alongside existing .NET 8 and 9 support
  • Added conditional package version references for .NET 10 framework packages
  • Updated CI/CD pipeline to install .NET 10 SDK and publish Custom Elements targeting net10.0

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
Directory.Build.props Added net10.0 to the TargetFrameworks property for repository-wide multi-targeting
Directory.Packages.props Added conditional ItemGroup for net10.0 with Microsoft framework package versions using $(MicrosoftVersion) property
.github/workflows/packages.yml Updated SDK setup to install .NET 8.x, 9.x, and 10.x; changed Custom Elements publish target from net9.0 to net10.0; removed duplicate setup-dotnet action

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

… target framework

Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>
Copilot AI requested a review from sfmskywalker December 2, 2025 09:57
@sfmskywalker sfmskywalker merged commit 3e4ba14 into develop/3.6.0 Dec 2, 2025
2 of 3 checks passed
@sfmskywalker sfmskywalker deleted the copilot/add-dotnet-10-support branch December 2, 2025 09:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants