Microsoft.AspNetCore.Http.Features の分割
Microsoft.AspNetCore.Http.Features は、次の 2 つのアセンブリに分割されています。
- Microsoft.AspNetCore.Http.Features
- Microsoft.Extensions.Features
ディスカッションについては、GitHub のイシュー dotnet/aspnetcore#32307 を参照してください。
導入されたバージョン
ASP.NET Core 6.0
以前の動作
Microsoft.AspNetCore.Http.Features 5.0 は、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
名前空間に存在し、互換性のために型転送が追加されています。
変更理由
この変更は、次の 2 つの理由で導入されました。
- コア型をコンポーネント間でより広範に共有できるようにします。
- 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' と 'Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' の両方に存在します
このエラーを解決するには、影響を受けるすべてのプロジェクトに Microsoft.AspNetCore.App への FrameworkReference
を追加します。
質問については、dotnet/aspnetcore#32307 を参照してください。
影響を受ける API
.NET