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

aspnet/Announcements#411 中所述,通过将某些 Microsoft.Extensions.* NuGet 包从 dotnet/extensions 存储库迁移到 dotnet/runtime,可将打包更改应用于某些已迁移的包。 有关此问题的讨论,请参阅 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 中 API 的 Microsoft.Extensions.Configuration.Binder 用户应该在项目中添加对它的直接引用。

受影响的 API