Microsoft.AspNetCore.Http.Features Aufteilung

Microsoft.AspNetCore.Http.Features wurde in die folgenden beiden Assemblys aufgeteilt:

  • Microsoft.AspNetCore.Http.Features
  • Microsoft.Extensions.Features

Weitere Informationen finden Sie im GitHub-Issue dotnet/aspnetcore#32307.

Eingeführt in Version

ASP.NET Core 6.0

Altes Verhalten

Microsoft.AspNetCore.Http.Features 5.0 wurde sowohl im ASP.NET freigegebenen Framework als auch als NuGet-Paket ausgeliefert. Microsoft.AspNetCore.Http.Features 5.0 hat .NET 4.6.1, .NET Standard 2.0 und .NET 5 als Ziel.

Neues Verhalten

Microsoft.AspNetCore.Http.Features 6.0 wird nur im ASP.NET freigegebenen Framework und nicht als NuGet-Paket ausgeliefert. Es ist nur auf .NET 6 ausgerichtet.

Microsoft.Extensions.Features 6.0 wird sowohl im ASP.NET freigegebenen Framework als auch als NuGet-Paket ausgeliefert. Ziele sind .NET 4.6.1, .NET Standard 2.0 und .NET 6 ausgerichtet.

Die folgenden Typen wurden in die neue Microsoft.Extensions.Features-Assembly verschoben:

Diese Typen befinden sich weiterhin im Microsoft.AspNetCore.Http.Features-Namespace, und aus Kompatibilitätsgründen wurden Typ forwards hinzugefügt.

Grund für die Änderung

Diese Änderung wurde aus zwei Gründen eingeführt:

  • Ermöglicht die gemeinsame Nutzung der Kerntypen über mehrere Komponenten hinweg.
  • Ermöglicht den verbleibenden HTTP-spezifischen Komponenten in Microsoft.AspNetCore.Http.Features die Nutzung neuer Runtime- und Sprachfeatures.

Entfernen Sie beim Upgrade auf ASP.NET Core 6.0 alle Paketverweise für Microsoft.AspNetCore.Http.Features. Fügen Sie nur bei Bedarf einen Paketverweis für Microsoft.Extensions.Features hinzu.

Fügen Sie für Klassenbibliotheken, die die Typen aus Microsoft.AspNetCore.Http.Features nutzen müssen, stattdessen ein FrameworkReference-Element hinzu:

<ItemGroup>
  <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

Weitere Informationen zum Hinzufügen der Frameworkreferenz finden Sie unter Verwenden des freigegebenen ASP.NET Core-Frameworks.

Bibliotheken mit veralteten Verweisen können auf einen TypeLoadException oder den folgenden Fehler stoßen:

Fehler CS0433 Der Typ "IFeatureCollection" ist in beiden "Microsoft.AspNetCore.Http.Features" vorhanden. Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" und "Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60"

Um den Fehler zu beheben, fügen Sie Microsoft.AspNetCore.App eine FrameworkReference zu einem beliebigen der betroffenen Projekte hinzu.

Gehen Sie bei Fragen zu dotnet/aspnetcore#32307.

Betroffene APIs