다음을 통해 공유


Microsoft.AspNetCore.Http.Features 분할

Microsoft.AspNetCore.Http.Features가 다음과 같은 두 개의 어셈블리로 분할되었습니다.

  • 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 네임스페이스에 계속 포함되며 호환성을 위해 형식 전달이 추가되었습니다.

변경 이유

이러한 변경 내용은 다음 두 가지 이유로 도입되었습니다.

  • 핵심 형식이 구성 요소 전반에서 폭넓게 공유되도록 합니다.
  • 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