Summary
This repository has one or more projects multi-targeting net9.0;net10.0. We're moving to support .NET 10 only, so drop net9.0 and target net10.0 exclusively.
Change
For every .csproj currently containing:
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
replace the element with a single TargetFramework:
<TargetFramework>net10.0</TargetFramework>
Treat this as a repository-wide rule (grep for the pattern above at the start of work), not a fixed file list: the set below reflects a scan of main at the time this issue was raised and may have drifted.
Known affected projects (at time of writing)
src/FunFair.CodeAnalysis.Benchmark.Tests/FunFair.CodeAnalysis.Benchmark.Tests.csproj
src/FunFair.CodeAnalysis.Tests/FunFair.CodeAnalysis.Tests.csproj
Also check
- TFM-specific conditions that reference
net9.0 directly (e.g. Condition="'$(TargetFramework)' == 'net9.0'", #if NET9_0 (not _OR_GREATER), or PackageReference/ItemGroup blocks scoped to net9.0) become dead code once net9.0 is no longer a target; remove them per the Conditional Compilation and Dead Code rule in dotnet.instructions.md.
#if NET9_0_OR_GREATER-style guards remain valid (net10.0 still satisfies _OR_GREATER); no action needed there.
global.json and any CI workflow files pinning a net9-specific SDK version.
- Shared
Directory.Build.props/Directory.Build.targets or solution-level MSBuild files referencing net9.0.
- Run
dotnet buildcheck, dotnet build, and dotnet test after the change; fix anything that surfaces.
Origin
Raised directly by a human instruction (not an ad-hoc/blocked AI-initiated issue): "for all the writable credfeto funfair-tech repos that have dotnet projects that have a net9.0;net10.0 in main; switch the project to net10 so we just support dotnet 10."
Summary
This repository has one or more projects multi-targeting
net9.0;net10.0. We're moving to support .NET 10 only, so dropnet9.0and targetnet10.0exclusively.Change
For every
.csprojcurrently containing:replace the element with a single
TargetFramework:Treat this as a repository-wide rule (grep for the pattern above at the start of work), not a fixed file list: the set below reflects a scan of
mainat the time this issue was raised and may have drifted.Known affected projects (at time of writing)
src/FunFair.CodeAnalysis.Benchmark.Tests/FunFair.CodeAnalysis.Benchmark.Tests.csprojsrc/FunFair.CodeAnalysis.Tests/FunFair.CodeAnalysis.Tests.csprojAlso check
net9.0directly (e.g.Condition="'$(TargetFramework)' == 'net9.0'",#if NET9_0(not_OR_GREATER), orPackageReference/ItemGroupblocks scoped tonet9.0) become dead code oncenet9.0is no longer a target; remove them per the Conditional Compilation and Dead Code rule indotnet.instructions.md.#if NET9_0_OR_GREATER-style guards remain valid (net10.0 still satisfies_OR_GREATER); no action needed there.global.jsonand any CI workflow files pinning a net9-specific SDK version.Directory.Build.props/Directory.Build.targetsor solution-level MSBuild files referencingnet9.0.dotnet buildcheck,dotnet build, anddotnet testafter the change; fix anything that surfaces.Origin
Raised directly by a human instruction (not an ad-hoc/blocked AI-initiated issue): "for all the writable credfeto funfair-tech repos that have dotnet projects that have a net9.0;net10.0 in main; switch the project to net10 so we just support dotnet 10."