Skip to content

Conversation

@WeihanLi
Copy link
Contributor

@WeihanLi WeihanLi commented Dec 9, 2025

This pull request upgrades the project to .NET 10 and updates related configuration, solution, and project files accordingly. It also replaces the legacy .sln solution file with a new .slnx format and cleans up obsolete code related to JSON serialization for enums.

.NET 10 Upgrade and Project Configuration:

  • Updated all project files (.csproj) to target .NET 10 (net10.0) instead of .NET 8 (net8.0), and removed .NET 6 support from the main library project. [1] [2] [3] [4]
  • Updated GitHub Actions CI workflow (.github/workflows/ci.yml) to use .NET SDK 10, update framework matrix, and reference the new .slnx solution file throughout build and test steps. [1] [2] [3] [4] [5]

Solution File Changes:

  • Removed the legacy Visual Studio .sln solution file and added a new .slnx solution file with updated project and folder structure. [1] [2]

Dependency and Code Cleanup:

  • Updated the System.Text.Json package reference in test projects to only apply to net48 targets, avoiding unnecessary references for .NET 10.
  • Removed the now unnecessary custom JsonNumberEnumConverter implementation

@inikulshin
Copy link
Contributor

Imo, the condition

#if !NET8_0_OR_GREATER && !NETSTANDARD2_0

made JsonNumberEnumConverter to be used for .NET Framework


<PropertyGroup>
<TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks>
<TargetFrameworks>netstandard2.0;net10.0;net8.0</TargetFrameworks>
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<TargetFrameworks>netstandard2.0;net10.0;net8.0</TargetFrameworks>
<TargetFrameworks>netstandard2.0;net8.0;net10.0</TargetFrameworks>

Copy link
Contributor

Choose a reason for hiding this comment

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

But honestly I don't think that new tfm is needed. Are there any new apis?

Copy link
Contributor Author

@WeihanLi WeihanLi Dec 26, 2025

Choose a reason for hiding this comment

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

updated, just removed net6.0 target since it's out of support

@WeihanLi WeihanLi changed the title remove net6.0 and add net10.0 remove net6.0 and update tests to net10.0 Dec 26, 2025
@WeihanLi
Copy link
Contributor Author

WeihanLi commented Dec 26, 2025

Imo, the condition

#if !NET8_0_OR_GREATER && !NETSTANDARD2_0
made JsonNumberEnumConverter to be used for .NET Framework

I think it's for .NET 6 target since the project targets for netstandard2.0;net6.0;net8.0, and for .NET Framework, it already references the System.Text.Json package

@WeihanLi WeihanLi marked this pull request as ready for review December 26, 2025 13:36
Copilot AI review requested due to automatic review settings December 26, 2025 13:36
Copy link

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 PR upgrades the test projects to .NET 10, removes .NET 6.0 support from the main library, and modernizes the solution structure by migrating to the .slnx format. The changes also remove obsolete JSON serialization code that's no longer needed with the updated framework targets.

  • Removed .NET 6.0 target framework from the main library project (now targets netstandard2.0 and net8.0)
  • Updated all test projects from net8.0 to net10.0
  • Replaced legacy .sln file with modern .slnx format and updated all CI workflow references

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Source/EasyNetQ.Management.Client/EasyNetQ.Management.Client.csproj Removed net6.0 from target frameworks, keeping netstandard2.0 and net8.0 for library compatibility
Source/EasyNetQ.Management.Client/Serialization/JsonNumberEnumConverter.cs Removed custom enum converter no longer needed after dropping net6.0 support
Source/EasyNetQ.Management.Client.Tests/EasyNetQ.Management.Client.Tests.csproj Updated test framework from net8.0 to net10.0; made System.Text.Json conditional for net48 only
Source/EasyNetQ.Management.Client.IntegrationTests/EasyNetQ.Management.Client.IntegrationTests.csproj Updated test framework from net8.0 to net10.0
Source/EasyNetQ.Management.Client.ApprovalTests/EasyNetQ.Management.Client.ApprovalTests.csproj Updated test framework from net8.0 to net10.0
Source/EasyNetQ.Management.Client.slnx Added new XML-based solution file format with project and folder structure
Source/EasyNetQ.Management.Client.sln Removed legacy solution file format
.github/workflows/ci.yml Updated .NET SDK to 10.x, changed all solution file references from .sln to .slnx, and updated framework matrix to net10.0

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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