隨著部分 Microsoft.Extensions.* NuGet 套件從 dotnet/extensions 倉庫遷移到 dotnet/runtime,如 aspnet/Announcements#411 所述,部分已遷移的套件正進行封包變更。 關於此議題的討論,請參見 dotnet/aspnetcore#21033。
推出的版本
5.0 預覽 4
舊行為
有些 Microsoft.Extensions.* 套件包含了應用程式所依賴的 API 套件參考。
新行為
你的應用程式可能需要新增 Microsoft.Extensions.* 套件依賴。
變更的原因
封裝政策已更新,以更好地與 dotnet/執行時 儲存庫對齊。 根據新政策,未使用的套件參考會在打包過程中從 .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 並依賴來自 Microsoft.Extensions.Configuration 的 API 的使用者,應該在專案中直接加入對它的參考。
受影響的 API
None