.NET 8의 주요 변경 내용

  • 아티클
  • 2023. 12. 05.
  •  

이 문서의 내용

  1. ASP.NET Core
  2. 컨테이너
  3. 핵심 .NET 라이브러리
  4. 암호화
  5. 배포
  6. Entity Framework Core
  7. 확장
  8. 세계화
  9. Interop
  10. 네트워킹
  11. 반영
  12. SDK
  13. 직렬화
  14. Windows Forms
  15. 참고 항목

앱을 .NET 8로 마이그레이션하는 경우 여기에 나열된 주요 변경 내용이 영향을 줄 수 있습니다. 변경 내용은 ASP.NET Core 또는 Windows Forms와 같은 기술 영역별로 그룹화됩니다.

이 문서에서는 각 호환성이 손상되는 변경 내용을 이진 호환되지 않거나 호환되지 않는 원본으로 분류하거나 동작 변경으로 분류합니다.

  • 이진 호환되지 않음 - 새 런타임 또는 구성 요소에 대해 실행할 때 기존 이진 파일은 로드 또는 실행 실패와 같은 동작의 호환성이 손상되는 변경이 발생할 수 있으며, 이 경우 다시 컴파일이 필요합니다.
  • 원본 호환되지 않음 - 새 SDK 또는 구성 요소를 사용하여 다시 컴파일하거나 새 런타임을 대상으로 하는 경우 기존 소스 코드에서 소스 변경 내용을 성공적으로 컴파일해야 할 수 있습니다.
  • 동작 변경 - 기존 코드 및 이진 파일은 런타임에 다르게 동작할 수 있습니다. 새 동작이 바람직하지 않은 경우 기존 코드를 업데이트하고 다시 컴파일해야 합니다.

참고

이 문서는 진행 중인 작업입니다. .NET 8의 주요 변경 내용의 전체 목록은 아닙니다. 여전히 게시 보류 중인 호환성이 손상되는 변경을 쿼리하려면 .NET의 문제를 참조하세요.

ASP.NET Core

 

컨테이너

 

핵심 .NET 라이브러리

 
타이틀 변경 유형
null인 경우 활동 작업 이름 동작 변경
AnonymousPipeServerStream.Dispose 동작 동작 변경
사용자 지정 진단 ID를 사용하는 API 사용되지 않음 호환되지 않는 원본
Unix 파일 경로의 백슬래시 매핑 동작 변경
Base64.DecodeFromUtf8 메서드는 공백을 무시합니다. 동작 변경
부울 지원 열거형 형식 지원 제거됨 동작 변경
Enumerable.Sum은 일부 입력에 대해 새 OverflowException을 throw합니다. 동작 변경
파이프를 닫을 때 FileStream 쓰기 동작 변경
Gc. GetGeneration이 Int32.MaxValue를 반환할 수 있습니다. 동작 변경
Unix의 GetFolderPath 동작 동작 변경
GetSystemVersion은 더 이상 ImageRuntimeVersion을 반환하지 않습니다. 동작 변경
ITypeDescriptorContext nullable 주석 호환되지 않는 원본
레거시 Console.ReadKey가 제거됨 동작 변경
메서드 작성기에서는 HasDefaultValue가 false로 설정된 매개 변수를 생성합니다. 동작 변경
UseShellExecute가 false이면 ProcessStartInfo.WindowsStyle이 적용됩니다. 동작 변경
RuntimeIdentifier는 런타임이 빌드된 플랫폼을 반환합니다. 동작 변경

암호화

 
타이틀 변경 유형 도입
macOS의 AesGcm 인증 태그 크기 동작 변경 미리 보기 1
Rsa. EncryptValue 및 RSA. DecryptValue 사용되지 않음 호환되지 않는 원본 미리 보기 1

배포

 
타이틀 변경 유형
호스트가 RID 관련 자산을 결정합니다. 호환되지 않는 이진/동작 변경
StripSymbols 기본값은 true입니다. 동작 변경

Entity Framework Core

EF Core 8의 호환성이 손상되는 변경

확장

 
타이틀 변경 유형
ActivatorUtilities.CreateInstance는 일관되게 동작합니다. 동작 변경
ActivatorUtilities.CreateInstance에는 null이 아닌 공급자가 필요합니다. 동작 변경
ConfigurationBinder가 일치하지 않는 값을 throw합니다. 동작 변경
ConfigurationManager 패키지는 더 이상 System.Security.Permissions를 참조하지 않습니다. 호환되지 않는 원본
DirectoryServices 패키지는 더 이상 System.Security.Permissions를 참조하지 않습니다. 호환되지 않는 원본
구성 바인더에 의해 사전에 추가된 빈 키 동작 변경
HostApplicationBuilder설정. HostApplicationBuilder ctor에서 적용하는 인수 동작 변경
ManagementDateTimeConverter.ToDateTime은 현지 시간을 반환합니다. 동작 변경
System.Formats.Cbor DateTimeOffset 서식 변경 동작 변경

세계화

 

Interop

 

네트워킹

 

반영

 

SDK

 
타이틀 변경 유형
CLI 콘솔 출력은 UTF-8을 사용합니다. 동작 변경/원본 및 이진 호환되지 않음
완료 후 UTF-8이 아닌 콘솔 인코딩 동작 변경/이진 호환되지 않음
컨테이너는 기본적으로 '최신' 태그를 사용합니다. 동작 변경
'dotnet pack'은 릴리스 구성을 사용합니다. 동작 변경/원본 호환되지 않음
'dotnet publish'는 릴리스 구성을 사용합니다. 동작 변경/원본 호환되지 않음
System.Net.Http에 대한 암시적 using 이 더 이상 추가되지 않음 동작 변경/원본 호환되지 않음
MSBuild 사용자 지정 파생 빌드 이벤트는 더 이상 사용되지 않습니다. 동작 변경
MSBuild는 DOTNET_CLI_UI_LANGUAGE 존중합니다. 동작 변경
자체 포함되지 않은 런타임별 앱 원본/이진 호환되지 않음
--arch 옵션은 자체 포함을 의미하지 않습니다. 동작 변경
'dotnet restore'는 보안 취약성 경고를 생성합니다. 동작 변경
SDK는 더 작은 RID 그래프를 사용합니다. 동작 변경/원본 호환되지 않음
.NET SDK에 포함된 원본 링크 호환되지 않는 원본
트리밍은 .NET Standard 또는 .NET Framework와 함께 사용할 수 없습니다. 동작 변경
.NET 도구에 대해 기본적으로 나열되지 않은 패키지가 설치되지 않음 동작 변경
.NET 8 SDK에 대한 버전 요구 사항 호환되지 않는 원본

직렬화

 

Windows Forms

 
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.

.NET 피드백

.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.

Posted by gurupia
,