-
Notifications
You must be signed in to change notification settings - Fork 15
Labels
Description
Plan and Actions:
To fully upgrade to .NET SDK 10 (dropping backward compatibility):
- Update all
.csprojfiles to target net10.0 only- Remove any references to previous TargetFrameworks/TFMs (net8.0, net6.0, etc.)
- Ensure all projects and test projects target ONLY net10.0
- Increment the version number to
10.0.0inXunit.Microsoft.DependencyInjection.csprojfound in here:<Version Condition="'$(Version)' == ''">9.2.2</Version>
- Upgrade NuGet package dependencies
- Use
dotnet list package --outdatedto identify packages requiring updates - Upgrade each package to the latest compatible version for .NET 10 using NuGet
- Fix code as needed for any breaking changes introduced by new dependencies
- Validate all code builds and runs with updated dependencies
- Use
- Update build pipelines (GitHub Actions if any)
- Modify workflow files to use
actions/setup-dotnetwith SDK 10 (10.x) - Remove matrix entries for older SDK versions
- Validate pipeline, both PR and release, builds and tests with SDK 10 only
- The build pipelines are the following yml files only:
azure-pipeline-PR.ymlazure-pipelines.yml- Increment the major number to10, minor and revision to both0in this yml file
- Modify workflow files to use
- Run and fix all tests
- Ensure the entire test suite passes on net10.0
- Address any failures due to upgraded dependencies or SDK changes
- Documentation and release
- Update README, changelog, and documentation to specify .NET 10 minimum requirement
- Set appropriate version bump (major if public APIs or support dropped)
- Do not publish to NuGet as it will be a manual process
Deliverables:
- Branch:
support/net10with all changes - PR: "Support .NET SDK 10 (net10.0 only, no backward compatibility)"
- Changelog entries, CI status, publishing info
- Do not run
azure-pipelines.ymlas that will be a manual process. Runazure-pipeline-PR.ymlonly to validate.
Decision:
- Targeting net10.0 only. All compatibility with previous .NET SDKs is removed.
- No multi-targeting; this is a breaking change for consumers relying on older SDKs.
Next steps:
- Execute the above in sequence and open a PR for review once ready.
Draft for your approval before implementation.
Copilot