Add .NET 10 support#822
Conversation
…ngs and reduce output verbosity
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughThe pull request adds support for .NET 10 (net10.0) across CI workflows and project configuration, while migrating solution files from legacy .sln format to the newer .slnx format. The Refitter.csproj TargetFrameworks is updated to include net10.0, GitHub Actions workflows are expanded to test against .NET 8.0.x, 9.0.x, and 10.0.x, and test infrastructure including scripts and project files are updated accordingly. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
There was a problem hiding this comment.
Pull Request Overview
This PR adds .NET 10.0 as a target framework for the Refitter CLI tool and updates the test infrastructure to support it. The changes include updating the main project file, modernizing solution files from .sln to .slnx format, updating CI/CD workflows, and adjusting test scripts.
Key changes:
- Added
net10.0to the target frameworks inRefitter.csprojalongside existingnet8.0andnet9.0 - Migrated test solution files from traditional
.slnto XML-based.slnxformat - Updated most GitHub Actions workflows to install .NET 10.0 SDK alongside 8.0 and 9.0
- Modified smoke test scripts to use .NET 10.0 for publishing and updated solution file references
- Removed obsolete Net7 project and cleaned up unused package references
Reviewed Changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/Refitter/Refitter.csproj | Added net10.0 to target frameworks |
| test/ConsoleApp/Net10/Net10.csproj | Updated target framework from net6.0 to net10.0 |
| test/ConsoleApp/Net7/Net7.csproj | Removed obsolete Net7 project |
| test/ConsoleApp/ConsoleApp.slnx | New XML solution file including Net10 project |
| test/ConsoleApp/ConsoleApp.Core.slnx | New XML solution file for .NET Core projects only |
| test/ConsoleApp/ConsoleApp.sln | Removed traditional solution file |
| test/ConsoleApp/ConsoleApp.Core.sln | Removed traditional solution file |
| test/ConsoleApp/Directory.Build.props | Removed unused package references |
| test/smoke-tests.ps1 | Updated to publish with net10.0 and reference .slnx files |
| test/smoke-tests.bat | Updated solution file references to .slnx format |
| .github/workflows/smoke-tests.yml | Added .NET 10.0 SDK setup |
| .github/workflows/release-template.yml | Added .NET 10.0 SDK setup |
| .github/workflows/regression-tests.yml | Added .NET 10.0 SDK setup |
| .github/workflows/production-tests.yml | Added .NET 10.0 SDK setup |
| .github/workflows/msbuild.yml | Added .NET 10.0 SDK setup |
| .github/workflows/codecov.yml | Added .NET 10.0 SDK setup and formatting fix |
| .github/workflows/build.yml | Added .NET 10.0 SDK setup |
| function ThrowOnNativeFailure | ||
| { |
There was a problem hiding this comment.
[nitpick] The formatting changes throughout this file (moving opening braces to separate lines) appear to be unrelated to the stated purpose of adding .NET 10 support. These style changes should ideally be in a separate PR focused on code formatting to keep the changes focused and easier to review.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #822 +/- ##
=======================================
Coverage 95.14% 95.14%
=======================================
Files 23 23
Lines 1938 1938
Branches 319 319
=======================================
Hits 1844 1844
Misses 48 48
Partials 46 46
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Updated [refitter](https://github.com/christianhelle/refitter) from 1.7.0 to 1.7.1. <details> <summary>Release notes</summary> _Sourced from [refitter's releases](https://github.com/christianhelle/refitter/releases)._ ## 1.7.1 ### Implemented enhancements - Improved handling of optional parameters [\#448](christianhelle/refitter#448) by @christianhelle - Allow omitting certain operation headers \#840 [\#841](christianhelle/refitter#841) by @kmc059000 - Migrate unit tests from xUnit to TUnit [\#830](christianhelle/refitter#830) by @christianhelle - Refit v9.0.2 [\#829](christianhelle/refitter#829) - Add .NET 10 support [\#822](christianhelle/refitter#822) ([christianhelle](https://github.com/christianhelle)) - Fix missing XML doc for CancellationToken [\#819](christianhelle/refitter#819) by @christianhelle - Fix incorrect casing on multi-part form data parameters [\#806](christianhelle/refitter#806) by @christianhelle - Optional parameters with default values [\#803](christianhelle/refitter#803) by @christianhelle - Asana API specs strange naming [\#364](christianhelle/refitter#364) by @christianhelle ### Fixed bugs - Using cancellation tokens with xml doc comments plus TreatWarningsAsErrors and documentation file [\#817](christianhelle/refitter#817) - Multipart form data parameters wrong casing [\#805](christianhelle/refitter#805) - Use of non generic `JsonStringEnumConverter` prohibits usage of Json-SourceGenerationContext [\#778](christianhelle/refitter#778) - SourceGenerator 1.5 and newer causes build error with Visual Studio 2022 [\#627](christianhelle/refitter#627) - Fix string escaping, null safety, and numeric literals in optional parameter default values [\#804](christianhelle/refitter#804) - Fix typo in class name and Spectre.Console markup escaping issue [\#828](christianhelle/refitter#828) ### Merged pull requests - docs: add kmc059000 as a contributor for ideas, and code [\#842](christianhelle/refitter#842) ([allcontributors[bot]](https://github.com/apps/allcontributors)) - Bump actions/upload-artifact from 5 to 6 [\#838](christianhelle/refitter#838) ([dependabot[bot]](https://github.com/apps/dependabot)) - Update dependency TUnit to 1.5.37 [\#836](christianhelle/refitter#836) ([renovate[bot]](https://github.com/apps/renovate)) - Update dotnet monorepo [\#834](christianhelle/refitter#834) ([renovate[bot]](https://github.com/apps/renovate)) - Update dependency TUnit to 1.5.6 [\#833](christianhelle/refitter#833) ([renovate[bot]](https://github.com/apps/renovate)) - Update dependency TUnit to 1.5.0 [\#832](christianhelle/refitter#832) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency spectre.console.cli to 0.53.1 [\#827](christianhelle/refitter#827) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency polly to 8.6.5 [\#826](christianhelle/refitter#826) ([renovate[bot]](https://github.com/apps/renovate)) - Bump actions/checkout from 5 to 6 [\#825](christianhelle/refitter#825) ([dependabot[bot]](https://github.com/apps/dependabot)) - chore\(deps\): update nswag monorepo to 14.6.3 [\#824](christianhelle/refitter#824) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency microsoft.build.utilities.core to v18 [\#821](christianhelle/refitter#821) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency swashbuckle.aspnetcore to 10.0.1 [\#820](christianhelle/refitter#820) ([renovate[bot]](https://github.com/apps/renovate)) - docs: add karoberts as a contributor for bug [\#818](christianhelle/refitter#818) ([allcontributors[bot]](https://github.com/apps/allcontributors)) - chore\(deps\): update dependency swashbuckle.aspnetcore to v10 [\#816](christianhelle/refitter#816) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency microsoft.extensions.http.resilience to v10 [\#815](christianhelle/refitter#815) ([renovate[bot]](https://github.com/apps/renovate)) - Update Spectre.Console.Cli to 0.53.0 [\#814](christianhelle/refitter#814) ([Copilot](https://github.com/apps/copilot-swe-agent)) - chore\(deps\): update dotnet monorepo to v10 \(major\) [\#813](christianhelle/refitter#813) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency microsoft.net.test.sdk to 18.0.1 [\#808](christianhelle/refitter#808) ([renovate[bot]](https://github.com/apps/renovate)) - docs: add mhartmair-cubido as a contributor for bug [\#807](christianhelle/refitter#807) ([allcontributors[bot]](https://github.com/apps/allcontributors)) ### New Contributors * @kmc059000 made their first contribution in christianhelle/refitter#841 Full Changelog: christianhelle/refitter@1.7.0...1.7.1 Commits viewable in [compare view](christianhelle/refitter@1.7.0...1.7.1). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>



Summary by CodeRabbit
New Features
Chores
✏️ Tip: You can customize this high-level summary in your review settings.