docs icon indicating copy to clipboard operation
docs copied to clipboard

[Breaking change]: FromKeyedServicesAttribute.Key may be null

Open ericstj opened this issue 6 months ago • 0 comments

Description

FromServiceKeyAttribute has been extended to support null (for unkeyed) and inheritance.

Version

.NET 8

Previous behavior

FromServiceKeyAttribute.Key was a non-nullable object object.

New behavior

FromServiceKeyAttribute.Key is a nullable object object?.

Type of breaking change

  • [ ] Binary incompatible: Existing binaries might encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
  • [x] Source incompatible: When recompiled using the new SDK or component or to target the new runtime, existing source code might require source changes to compile successfully.
  • [ ] Behavioral change: Existing binaries might behave differently at run time.

Reason for change

See https://github.com/dotnet/runtime/issues/113585. Support was added for keyed services to annotate parameters as unkeyed.

Recommended action

Adjust any caller that is using FromServiceKeyAttribute to accept a null value for Key.

Feature area

Extensions

Affected APIs

Microsoft.Extensions.DependencyInjection.FromServiceKeyAttribute.Key

ericstj avatar May 20 '25 15:05 ericstj