Description
Description
The ProviderAliasAttribute was originally defined in the Microsoft.Extensions.Logging library. In .NET 10, it has been moved to the Microsoft.Extensions.Logging.Abstractions library. To minimize potential breaking changes, the type is type-forwarded from Microsoft.Extensions.Logging, allowing existing code to continue working without modification.
- [API Proposal]:
ProviderAliasAttribute
: Better move toMicrosoft.Extensions.Logging.Abstractions
runtime#114532 ProviderAliasAttribute
moved toMicrosoft.Extensions.Logging.Abstractions
solution. runtime#114606
Version
.NET 10 Preview 4
Previous behavior
ProviderAliasAttribute
was originally defined in the Microsoft.Extensions.Logging
library.
New behavior
ProviderAliasAttribute
has been moved to Microsoft.Extensions.Logging.Abstractions
and is type-forwarded from Microsoft.Extensions.Logging
to maintain compatibility.
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.
- 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
This change allows users who depend on Microsoft.Extensions.Logging.Abstractions
and use ProviderAliasAttribute
to avoid taking a dependency on Microsoft.Extensions.Logging
.
Recommended action
This change should not be breaking in most common scenarios. The only potential breaking case occurs when a project references an older version of Microsoft.Extensions.Logging
alongside the .NET 10 version of Microsoft.Extensions.Logging.Abstractions
. In that situation, a compilation error may occur due to ProviderAliasAttribute
being defined in both assemblies. To resolve this, users should upgrade to the .NET 10 version of Microsoft.Extensions.Logging
.
Feature area
Extensions
Affected APIs
ProviderAliasAttribute
Metadata
Metadata
Assignees
Type
Projects
Status