Microsoft.AspNetCore.Http.Features split
Microsoft.AspNetCore.Http.Features 已分割成下列兩個組件:
- Microsoft.AspNetCore.Http.Features
- Microsoft.Extensions.Features
若要查看討論內容,請參閱 GitHub 問題 dotnet/aspnetcore#32307 (英文)。
導入的版本
ASP.NET Core 6.0
舊的行為
Microsoft.AspNetCore.Http.Features 5.0 p會隨 ASP.NET 共用架構和 NuGet 封裝一起出貨。 Microsoft.AspNetCore.Http.Features 5.0 適用於 .NET 4.6.1、.NET Standard 2.0 和 .NET 5。
新的行為
Microsoft.AspNetCore.Http.Features 6.0 僅隨附於 ASP.NET 共用架構中,而不是 NuGet 套件。 僅以 .NET 6 為目標。
Microsoft.Extensions.Features 6.0 會隨 ASP.NET 共用架構一起出貨,而且會以 NuGet 封裝的形式出貨。 其目標為 .NET 4.6.1、.NET Standard 2.0 和 .NET 6。
下列類型已移至新的 Microsoft.Extensions.Features 組件:
這些類型仍在 Microsoft.AspNetCore.Http.Features
命名空間中,並已新增類型轉換,以便能夠相容。
變更原因
導入此變更的原因有二:
- 允許更多元件共用核心類型。
- 允許 Microsoft.AspNetCore.Http.Features 中其餘 Http 專用元件也能使用新的執行階段及語言功能。
建議的動作
升級為 ASP.NET Core 6.0 時,請先移除 Microsoft.AspNetCore.Http.Features 的所有封裝參考。 只在需要時,才新增對 Microsoft.Extensions.Features 的封裝參考。
對於需要取用 Microsoft.AspNetCore.Http.Features 中之類型的類別庫,請改為新增 FrameworkReference
項目:
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
如需新增架構參考的詳細資訊,請參閱使用 ASP .NET Core 共用架構。
包含過期參考的程式庫,可能會發生 TypeLoadException 或下列錯誤:
錯誤 CS0433 類型 'IFeatureCollection' 同時存在於 'Microsoft.AspNetCore.Http.Features, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' and 'Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' 中
若要解決此錯誤,請將 FrameworkReference
新增到任何受影響專案的 Microsoft.AspNetCore.App 中。
如有任何問題,請參閱 dotnet/aspnetcore#32307 (英文)。
受影響的 API
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應