패키지에서 삭제된 이전 프레임워크 버전

.NET 6부터 대상 프레임워크가 다음보다 오래된 프로젝트에 핵심 라이브러리 패키지를 더 이상 설치할 수 없습니다.

  • .NET Framework 4.6.1
  • .NET Core 3.1
  • .NET Standard 2.0

변경 내용 설명

이전에는 .NET Framework 4.6.1, .NET Core 3.1 또는 .NET Standard 2.0보다 오래된 프레임워크에서 패키지를 사용하더라도 패키지를 최신 버전으로 업그레이드할 수 있었습니다. .NET 6부터 이전 프레임워크에서 영향을 받은 패키지를 참조하는 경우 참조된 패키지를 최신 버전으로 더 이상 업데이트할 수 없습니다.

도입된 버전

.NET 6

변경 이유

모든 프레임워크에 대해 빌드를 계속하면 패키지의 복잡성과 크기가 증가합니다. 과거에 .NET은 현재 프레임워크에 대해서만 빌드하고 이전 프레임워크에 대한 이진 파일을 수집하여 이 문제를 해결했습니다. 수집은 빌드 중에 이전 버전의 패키지가 다운로드되고 이진 파일을 추출한다는 것을 의미합니다.

수집된 이진 파일을 사용한다는 것은 프레임워크가 삭제될 걱정 없이 항상 업데이트할 수 있다는 것을 의미하지만 버그 수정이나 새로운 기능을 얻을 수 없다는 의미이기도 합니다. 즉, 수집된 자산을 서비스할 수 없습니다. 더 이상 업데이트되지 않는 동일한 이전 이진 파일을 사용하더라도 패키지를 이후 버전으로 계속 업데이트할 수 있기 때문에 숨겨집니다.

.NET 6부터 .NET은 배송된 모든 자산을 서비스할 수 있도록 어떤 형태의 수집도 더 이상 수행하지 않습니다.

프로젝트가 유지 관리되지만 발전하지 않는 경우 영향을 받은 패키지를 업그레이드하지 마십시오. 이미 고정된 이진 파일을 사용 중이므로 이는 일반적으로 큰 손실이 아닙니다.

프로젝트가 발전하는 경우 다음과 같은 최신 프레임워크 버전으로 업그레이드합니다.

  • .NET Framework 4.6.1
  • .NET Core 3.1
  • .NET Standard 2.0

영향을 받는 API

다음 패키지는 더 이상 이전 프레임워크를 제공하지 않습니다.

  • Microsoft.Extensions.DependencyModel
  • Microsoft.Win32.Registry.AccessControl
  • Microsoft.Win32.SystemEvents
  • System.Collections.Immutable
  • System.ComponentModel.Annotations
  • System.ComponentModel.Composition
  • System.ComponentModel.Composition.Registration
  • System.Composition.AttributedModel
  • System.Composition.Convention
  • System.Composition.Hosting
  • System.Composition.Runtime
  • System.Composition.TypedParts
  • System.Data.Odbc
  • System.Data.OleDb
  • System.Diagnostics.DiagnosticSource
  • System.Diagnostics.EventLog
  • System.Diagnostics.PerformanceCounter
  • System.DirectoryServices
  • System.DirectoryServices.AccountManagement
  • System.DirectoryServices.Protocols
  • System.Drawing.Common
  • System.IO.Packaging
  • System.IO.Pipelines
  • System.Management
  • System.Net.Http.WinHttpHandler
  • System.Net.WebSockets.WebSocketProtocol
  • System.Numerics.Tensors
  • System.Reflection.Context
  • System.Reflection.Metadata
  • System.Reflection.MetadataLoadContext
  • System.Runtime.Caching
  • System.Runtime.CompilerServices.Unsafe
  • System.Security.Cryptography.Cng
  • System.Security.Cryptography.OpenSsl
  • System.Security.Cryptography.Pkcs
  • System.Security.Cryptography.ProtectedData
  • System.Security.Permissions
  • System.ServiceProcess.ServiceController
  • System.Speech
  • System.Text.Encoding.CodePages
  • System.Text.Encodings.Web
  • System.Threading.AccessControl
  • System.Threading.Channels
  • System.Threading.Tasks.Dataflow
  • System.Windows.Extensions

다음 패키지는 이제 구현이 .NET 6 플랫폼의 일부이므로 더 이상 업데이트되지 않습니다.

  • Microsoft.Win32.Registry
  • System.ComponentModel.Annotations
  • System.IO.FileSystem.AccessControl
  • System.IO.Pipes.AccessControl
  • System.Security.AccessControl
  • System.Security.Cryptography.Cng
  • System.Security.Cryptography.OpenSsl
  • System.Security.Principal.Windows