扩展:影响某些 NuGet 包的包引用更改

随着某些 Microsoft.Extensions.* NuGet 包从 dotnet/extensions 存储库迁移到 dotnet/runtime,如 aspnet/Announcements#411 中所述,打包更改将应用于某些已迁移的包。 有关此问题的讨论,请参阅 dotnet/aspnetcore#21033

已引入的版本

5.0 预览版 4

旧行为

某些 Microsoft.Extensions.* 包包含应用依赖的 API 的包引用。

新行为

你的应用可能需要添加 Microsoft.Extensions.* 包依赖项。

更改原因

打包策略已更新,以便更好地与 dotnet/runtime 存储库保持一致。 在新策略下,在打包过程中,未使用的包引用将从 .nupkg 文件中删除。

如果项目中使用了已删除包依赖项的 API,受影响包的用户应在其项目中添加对该已删除包依赖项的直接依赖项。 下表列出了受影响的包和相应的更改。

包名称 更改描述
Microsoft.Extensions.Configuration.Binder 删除了对Microsoft.Extensions.Configuration的引用
Microsoft.Extensions.Configuration.Json 删除了对System.Threading.Tasks.Extensions的引用
Microsoft.Extensions.Hosting.Abstractions 删除了对Microsoft.Extensions.Logging.Abstractions的引用
Microsoft.Extensions.Logging 删除了对Microsoft.Extensions.Configuration.Binder的引用
Microsoft.Extensions.Logging.Console 删除了对Microsoft.Extensions.Configuration.Abstractions的引用
Microsoft.Extensions.Logging.EventLog 已删除对 .NET Framework 4.6.1 目标框架名字对象的 System.Diagnostics.EventLog 的引用
Microsoft.Extensions.Logging.EventSource 删除了对System.Threading.Tasks.Extensions的引用
Microsoft.Extensions.Options 删除了对System.ComponentModel.Annotations的引用

例如,从Microsoft.Extensions.Configuration中删除了对Microsoft.Extensions.Configuration.Binder包的引用。 包中未使用依赖项中的 API。 依赖于 Microsoft.Extensions.Configuration.Binder 中 API 的 Microsoft.Extensions.Configuration 用户应该在项目中添加对它的直接引用。

受影响的 API

没有