Skip to content

[Breaking change]: Moving ProviderAliasAttribute to Microsoft.Extensions.Logging.Abstractions #45806

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 of 3 tasks
tarekgh opened this issue Apr 14, 2025 · 0 comments
Open
1 of 3 tasks
Assignees
Labels
breaking-change Indicates a .NET Core breaking change ⌚ Not Triaged Not triaged

Comments

@tarekgh
Copy link
Member

tarekgh commented Apr 14, 2025

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.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change Indicates a .NET Core breaking change ⌚ Not Triaged Not triaged
Projects
None yet
Development

No branches or pull requests

2 participants