随着某些 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
没有