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 は、NuGet パッケージとしてではなく、ASP.NET 共有フレームワークにのみ付属しています。 対象は .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