次の方法で共有


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 は、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