Back to Aspnetcore

Breaking change: Extensions: Package reference changes affecting some NuGet packages

aspnetcore/breaking-changes/5/extensions-package-reference-changes.md

latest3.2 KB
Original Source

Extensions: Package reference changes affecting some NuGet packages

With the migration of some Microsoft.Extensions.* NuGet packages from the dotnet/extensions repository to dotnet/runtime, as described in aspnet/Announcements#411, packaging changes are being applied to some of the migrated packages. For discussion on this issue, see dotnet/aspnetcore#21033.

Version introduced

5.0 Preview 4

Old behavior

Some Microsoft.Extensions.* packages included package references for APIs on which your app relied.

New behavior

Your app may have to add Microsoft.Extensions.* package dependencies.

Reason for change

Packaging policies were updated to better align with the dotnet/runtime repository. Under the new policy, unused package references are removed from .nupkg files during packaging.

Consumers of the affected packages should add a direct dependency on the removed package dependency in their project if APIs from removed package dependency are used. The following table lists the affected packages and the corresponding changes.

Package nameChange description
Microsoft.Extensions.Configuration.BinderRemoved reference to Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.JsonRemoved reference to System.Threading.Tasks.Extensions
Microsoft.Extensions.Hosting.AbstractionsRemoved reference to Microsoft.Extensions.Logging.Abstractions
Microsoft.Extensions.LoggingRemoved reference to Microsoft.Extensions.Configuration.Binder
Microsoft.Extensions.Logging.ConsoleRemoved reference to Microsoft.Extensions.Configuration.Abstractions
Microsoft.Extensions.Logging.EventLogRemoved reference to System.Diagnostics.EventLog for the .NET Framework 4.6.1 target framework moniker
Microsoft.Extensions.Logging.EventSourceRemoved reference to System.Threading.Tasks.Extensions
Microsoft.Extensions.OptionsRemoved reference to System.ComponentModel.Annotations

For example, the package reference to Microsoft.Extensions.Configuration was removed from Microsoft.Extensions.Configuration.Binder. No API from the dependency was used in the package. Users of Microsoft.Extensions.Configuration.Binder who depend on APIs from Microsoft.Extensions.Configuration should add a direct reference to it in their project.

Affected APIs

None

<!-- ### Category ASP.NET Core ### Affected APIs Not detectable via API analysis -->