Plan and Actions:
To fully upgrade to .NET SDK 10 (dropping backward compatibility):
- Update all
.csproj files 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.0 in Xunit.Microsoft.DependencyInjection.csproj found in here: <Version Condition="'$(Version)' == ''">9.2.2</Version>
- Upgrade NuGet package dependencies
- Use
dotnet list package --outdated to 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
- Update build pipelines (GitHub Actions if any)
- Modify workflow files to use
actions/setup-dotnet with 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.yml
azure-pipelines.yml - Increment the major number to 10, minor and revision to both 0 in this yml file
- 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/net10 with all changes
- PR: "Support .NET SDK 10 (net10.0 only, no backward compatibility)"
- Changelog entries, CI status, publishing info
- Do not run
azure-pipelines.yml as that will be a manual process. Run azure-pipeline-PR.yml only 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.
Plan and Actions:
To fully upgrade to .NET SDK 10 (dropping backward compatibility):
.csprojfiles to target net10.0 only10.0.0inXunit.Microsoft.DependencyInjection.csprojfound in here:<Version Condition="'$(Version)' == ''">9.2.2</Version>dotnet list package --outdatedto identify packages requiring updatesactions/setup-dotnetwith SDK 10 (10.x)azure-pipeline-PR.ymlazure-pipelines.yml- Increment the major number to10, minor and revision to both0in this yml fileDeliverables:
support/net10with all changesazure-pipelines.ymlas that will be a manual process. Runazure-pipeline-PR.ymlonly to validate.Decision:
Next steps:
Draft for your approval before implementation.