.NET(.NET 5+ 및 .NET Core)에 대한 릴리스 및 지원

Microsoft는 .NET 5(.NET Core 포함) 이상 버전의 주 버전, 부 버전, 서비스 업데이트(패치)를 제공합니다. 이 문서에서는 릴리스 종류, 서비스 업데이트, SDK 기능 밴드, 지원 기간, 지원 옵션 등을 설명합니다.

릴리스 종류

각 릴리스 종류에 관한 정보는 버전 번호에 major.minor.patch 형식으로 인코딩됩니다.

예를 들면 다음과 같습니다.

  • .NET 5 및 NET 6은 주요 릴리스입니다.
  • .NET Core 3.1은 .NET Core 3.0 주 버전 이후의 첫 번째 부 버전입니다.
  • .NET Core 5.0.15는 .NET 5에 대한 15번째 패치입니다.

주 버전

주 버전에는 새로운 기능, 새 공용 API 노출 영역, 버그 수정이 포함됩니다. 예를 들어 .NET 5 및 .NET 6이 있습니다. 변경 내용의 특성으로 인해 해당 릴리스에는 호환성이 손상되는 변경이 포함될 것으로 예상됩니다. 주 버전은 이전 주 버전과 나란히 설치됩니다.

부 버전

부 버전에도 새로운 기능, 공용 API 노출 영역, 버그 픽스가 포함되며 호환성이 손상되는 변경도 포함될 수 있습니다. 예를 들어 .NET Core 3.1이 있습니다. 주 버전과 차이점은 변경의 크기가 더 작다는 것입니다. 애플리케이션을 .NET Core 3.0에서 3.1로 업그레이드하면 조금 개선됩니다. 부 버전은 이전 부 버전과 나란히 설치됩니다.

서비스 업데이트

서비스 업데이트(패치)는 거의 매월 제공되며 해당 업데이트에는 보안 및 비보안 버그 수정이 모두 포함됩니다. 예를 들어 .NET 5.0.8은 .NET 5에 대한 여덟 번째 업데이트입니다. 해당 업데이트는 보안 수정을 포함하는 경우 항상 매월 두 번째 화요일인 “화요일 패치(Patch Tuesday)”에 릴리스됩니다. 서비스 업데이트는 호환성을 유지해야 합니다. .NET Core 3.1부터 서비스 업데이트는 이전 업데이트를 제거하는 업그레이드입니다. 예를 들어 3.1의 최신 서비스 업데이트를 설치하면 이전 3.1 업데이트가 제거됩니다.

기능 밴드(SDK만 해당)

.NET SDK의 버전 관리는 .NET 런타임과 약간 다릅니다. 새 Visual Studio 릴리스에 맞추기 위해 .NET SDK 업데이트에는 새로운 기능이나 MSBuild, NuGet 등과 같은 구성 요소의 새 버전이 포함되어 있을 수 있습니다. 이러한 새 기능이나 구성 요소는 동일한 주 또는 부 버전용 이전 SDK 업데이트에서 제공된 버전과 호환되지 않을 수 있습니다.

관련 업데이트를 구분하기 위해 .NET SDK에서는 기능 밴드라는 개념을 사용합니다. 예를 들어 첫 번째 .NET 5 SDK는 5.0.100이었습니다. 이 릴리스는 3.1.1xx 기능 밴드에 해당합니다. 기능 밴드는 버전 번호의 세 번째 섹션에 100~999 사이의 그룹으로 정의됩니다. 예를 들어 5.0.101 및 5.0.201은 서로 다른 두 기능 대역의 버전이며 5.0.101 및 5.0.199는 동일한 기능 밴드에 있습니다. .NET SDK 5.0.101이 설치되면 .NET SDK 5.1.100이 있는 경우 컴퓨터에서 제거됩니다. .NET SDK 5.0.200이 동일한 컴퓨터에 설치되어 있으면 .NET SDK 5.0.101이 제거되지 않습니다.

런타임 롤포워드 및 호환성

주 및 부 업데이트는 이전 버전과 나란히 설치됩니다. 특정 major.minor 버전을 대상으로 빌드된 애플리케이션은 최신 버전을 설치하더라도 해당하는 대상 런타임을 계속 사용합니다. 해당 동작을 옵트인하는 경우 외에는 앱이 최신 major.minor 버전의 런타임을 사용하도록 자동으로 롤포워드되지 않습니다. .NET Core 3.0을 대상으로 빌드된 애플리케이션은 .NET Core 3.1에서 자동으로 실행이 시작되지 않습니다. 앱을 다시 빌드하고 최신 주 또는 부 런타임 버전에 대해 테스트한 후 프로덕션으로 배포하는 것이 좋습니다. 자세한 내용은 프레임워크 종속 앱 롤포워드자체 포함 배포 런타임 롤포워드를 참조하세요.

서비스 업데이트는 주 및 부 버전과 다르게 처리됩니다. .NET 5.0.0을 대상으로 빌드된 애플리케이션은 기본적으로 5.0.0 런타임에서 실행됩니다. 서비스 업데이트가 설치될 때 최신 5.0.1 런타임을 사용하도록 자동으로 롤아웃됩니다. 이 동작이 기본값인 이유는 보안 수정이 설치되는 즉시 별도의 작업 없이 사용되도록 하기 위해서입니다. 해당 기본 롤포워드 동작을 옵트아웃할 수도 있습니다.

.NET 버전 수명 주기

.NET Core, .NET 5 이상 버전에서는 .NET Framework 릴리스에 사용된 고정 수명 주기가 아니라 최신 수명 주기를 채택합니다. 고정 수명 주기를 사용하는 제품은 지원 기간이 길고 고정되어 있습니다. 예를 들어 5년의 일반 지원과 이후 5년의 추가 지원을 제공합니다. 일반 지원은 보안 및 비보안 수정을 포함하지만 추가 지원은 보안 수정만 제공합니다. 최신 수명 주기를 채택하는 제품은 서비스와 더 유사한 지원 모델을 사용하여 지원 기간은 더 짧지만 릴리스는 빈번합니다.

릴리스 트랙

릴리스의 지원 트랙은 두 가지입니다.

  • ‘현재’ 릴리스

    해당 버전은 다음 주 또는 부 버전이 제공된 후 6개월까지 지원됩니다. 이전에는(.NET Core 3.0 이하 버전) 이러한 릴리스는 다음 주 또는 부 릴리스가 출시된 후 3개월 동안에만 지원되었습니다.

    예제:

    • .NET Core 3.0은 2019년 9월에 출시되었으며 2019년 12월에 .NET Core 3.1이 출시되었습니다.
    • .NET Core 3.0 지원은 3.1이 출시되고 3개월 후인 2020년 3월에 종료됩니다.
  • ‘LTS(장기 지원)’ 릴리스

    해당 버전은 최소 3년간 또는 다음 LTS 릴리스가 제공되고 1년 후까지 중 나중 시점까지 지원됩니다.

    예제:

    • .NET Core 3.1은 LTS 릴리스이며 2019년 12월에 릴리스되었습니다. 2022년 12월까지 3년간 지원합니다.
    • .NET 5는 현재 릴리스이며 2020년 11월에 릴리스되었습니다. 2022년 5월까지 18개월 동안 지원합니다.
    • .NET 6은 LTS 릴리스이며 2021년 11월에 릴리스되었습니다. 2024년 11월까지 3년간 지원합니다.

LTS와 현재 릴리스가 번갈아 제공되므로 이전 릴리스가 이후 릴리스보다 더 오래 지원될 수 있습니다. 예를 들어 .NET Core 3.1은 2022년 12월까지 지원되는 LTS 릴리스입니다. .NET 5 릴리스는 거의 1년 후에 출시되었지만 2022년 5월에 지원되지 않습니다.

서비스 업데이트는 매달 제공되며 보안 및 비보안(신뢰성, 호환성, 안정성) 수정을 모두 포함합니다. 서비스 업데이트는 다음 서비스 업데이트가 릴리스될 때까지 지원됩니다. 서비스 업데이트에는 런타임 롤포워드 동작이 제공됩니다. 즉, 애플리케이션은 기본적으로 설치된 최신 런타임 서비스 업데이트에서 실행되도록 설정됩니다.

릴리스를 선택하는 방법

서비스를 빌드하고 정기적으로 계속 업데이트할 계획인 경우 .NET에서 제공할 최신 기능을 활용하기 위해서는 .NET 5와 같은 현재 릴리스를 선택하는 것이 가장 좋은 방법일 수 있습니다.

소비자에게 배포되는 클라이언트 애플리케이션을 빌드하는 경우에는 최신 기능 액세스보다 안정성이 더 중요할 수 있습니다. 소비자가 애플리케이션의 다음 버전으로 업그레이드하기 전까지 일정 기간 애플리케이션을 지원해야 할 수 있습니다. 이 경우 .NET 6과 같은 LTS 릴리스가 올바른 옵션일 수 있습니다.

서비스 업데이트

.NET 서비스 업데이트는 다음 서비스 업데이트가 릴리스될 때까지 지원됩니다. 릴리스 주기는 매월입니다.

앱을 안전하고 지원되는 상태로 유지하기 위해 정기적으로 서비스 업데이트를 설치해야 합니다. 예를 들어 .NET 5에 대한 최신 서비스 업데이트가 5.0.8이고 5.0.9가 제공된 경우 5.0.8은 더 이상 최신이 아닙니다. .NET 5에 대해 지원되는 서비스 수준은 5.0.9입니다.

각 주 및 부 버전의 최신 서비스 업데이트에 대한 자세한 내용은 .NET 다운로드 페이지를 참조하세요.

지원 종료

지원 종료일이란 해당 날짜 이후에 Microsoft에서 제품 버전을 위한 수정, 업데이트, 기술 지원을 더 이상 제공하지 않는 날짜를 나타냅니다. 해당 날짜 이전에 지원되는 버전을 사용하도록 이동해야 합니다. 지원되지 않는 버전은 애플리케이션과 데이터를 보호하는 보안 업데이트를 더 이상 받을 수 없습니다.

지원되는 운영 체제

.NET 5(.NET Core 포함) 이상 버전은 다양한 운영 체제에서 실행할 수 있습니다. 각 관련 운영 체제의 수명 주기는 스폰서 조직(Microsoft, Red Hat, Apple 등)에서 정의합니다. Microsoft는 운영 체제 버전의 지원을 추가하거나 제거할 때 해당 수명 주기 일정을 고려합니다.

운영 체제 버전의 지원이 중단되면 해당 버전의 테스트와 해당 버전의 지원 제공이 중지됩니다. 지원을 받으려면 사용자가 지원되는 운영 체제 버전으로 이동해야 합니다.

자세한 내용은 .NET OS Lifecycle Policy(.NET OS 수명 주기 정책)를 참조하세요.

지원 받기

Microsoft 보조 지원과 커뮤니티 지원 중에서 선택할 수 있습니다.

Microsoft 지원

보조 지원을 받으려면 Microsoft 지원 전문가에게 문의하세요.

지원을 받으려면 지원되는 서비스 수준(사용 가능한 최신 서비스 업데이트)에 있어야 합니다. 시스템에서 .NET 5를 실행하고 5.0.8 서비스 업데이트가 릴리스된 경우 첫 번째 단계로 5.0.8을 설치해야 합니다.

커뮤니티 지원

커뮤니티 지원을 받으려면 커뮤니티 페이지를 참조하세요.

참조

각 .NET 버전에 대해 지원되는 날짜 범위를 비롯한 자세한 내용은 지원 정책을 참조하세요.