Freigeben über


Microsoft.AspNetCore.Http.Features Split

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

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

Zur Diskussion siehe GitHub-Problem dotnet/aspnetcore#32307.

Eingeführte 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 zielte auf .NET 4.6.1, .NET Standard 2.0 und .NET 5 ab.

Neues Verhalten

Microsoft.AspNetCore.Http.Features 6.0 wird nur im ASP.NET freigegebenen Framework bereitgestellt, nicht als NuGet-Paket. 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. Sie zielt auf .NET 4.6.1, .NET Standard 2.0 und .NET 6 ab.

Die folgenden Typen wurden in die neue Assembly "Microsoft.Extensions.Features" 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 Änderung

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

  • Ermöglicht die gemeinsame Nutzung der Kerntypen über Komponenten hinweg.
  • Ermöglicht es den verbleibenden httpspezifischen Komponenten in Microsoft.AspNetCore.Http.Features, neue Laufzeit- und Sprachfeatures zu nutzen.

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

Fügen Sie für Klassenbibliotheken, die die Typen von Microsoft.AspNetCore.Http.Features verwenden 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 ASP.NET freigegebenen Core-Frameworks.

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

Fehler CS0433 Der Typ "IFeatureCollection" ist in "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.

Fragen finden Sie unter dotnet/aspnetcore#32307.

Betroffene APIs