영어로 읽기

다음을 통해 공유


.NET 8의 호환성이 손상되는 변경

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

이 문서에서는 각 호환성이 손상되는 변경을 이진 파일 비호환, 원본 비호환 또는 동작 변경으로 분류합니다.

  • 이진 파일 비호환 - 새 런타임이나 구성 요소에 대해 실행할 때 기존 이진 파일의 동작이 크게 변경될 수 있습니다(예: 로드 또는 실행 실패). 그런 경우 다시 컴파일이 필요합니다.

  • 원본 비호환 - 새 SDK 또는 구성 요소를 사용하여 다시 컴파일하거나 새 런타임을 대상으로 하는 경우 기존 소스 코드를 성공적으로 컴파일하려면 원본을 변경해야 할 수도 있습니다.

  • 동작 변경 - 기존 코드와 이진 파일은 런타임 시 다르게 동작할 수 있습니다. 새로운 동작이 바람직하지 않은 경우 기존 코드를 업데이트하고 다시 컴파일해야 합니다.

ASP.NET Core

컨테이너

핵심 .NET 라이브러리

암호화

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

배포

타이틀 변경 형식
호스트가 RID 관련 자산을 결정함 이진 파일 비호환/동작 변경
.NET 모니터에는 distroless 이미지만 포함됨 동작 변경
StripSymbols의 기본값은 true임 동작 변경

Entity Framework Core

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

확장

전역화

Interop

네트워킹

반영

SDK

타이틀 변경 형식
CLI 콘솔 출력에서는 UTF-8을 사용함 동작 변경/원본 및 이진 파일 비호환
완료 후 콘솔 인코딩이 UTF-8이 아님 동작 변경/이진 파일 비호환
컨테이너는 기본적으로 '최신' 태그를 사용함 동작 변경
'dotnet pack'은 릴리스 구성을 사용합니다. 동작 변경/원본 비호환
'dotnet publish'는 릴리스 구성을 사용합니다. 동작 변경/원본 비호환
-getItem, -getProperty 및 -getTargetResult에 대한 중복 출력 동작 변경
System.Net.Http에 대한 암시적 using이 더 이상 추가되지 않음 동작 변경/원본 비호환
MSBuild 사용자 지정 파생 빌드 이벤트가 더 이상 사용되지 않음 동작 변경
MSBuild는 DOTNET_CLI_UI_LANGUAGE를 준수함 동작 변경
자체 포함되지 않은 런타임 관련 앱 원본/이진 파일 비호환
--arch 옵션이 독립형을 의미하지 않음 동작 변경
'dotnet restore'는 보안 취약성 경고를 생성함 동작 변경
SDK는 더 작은 RID 그래프를 사용함 동작 변경/원본 비호환
DebugSymbols를 false로 설정하면 PDB 생성이 사용하지 않도록 설정됨 동작 변경
.NET SDK에 포함된 소스 링크 원본 비호환
.NET Standard 또는 .NET Framework에서는 트리밍을 사용할 수 없음 동작 변경
.NET 도구에 대해 목록에 없는 패키지는 기본적으로 설치되지 않음 동작 변경
외부 빌드에서 가져온 .user 파일 동작 변경
.NET 8 SDK의 버전 요구 사항 원본 비호환

직렬화

Windows Forms

참고 항목