共用方式為


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