.NET 앱 업그레이드 개요

이 문서에서는 .NET 애플리케이션의 업그레이드를 계획하고 수행하는 방법을 설명합니다. 현재 앱을 평가하고, 올바른 업그레이드 경로를 선택하고, 사용 가능한 도구를 사용하고, 업그레이드된 앱의 유효성을 검사하는 데 도움이 됩니다. 지침을 사용하여 .NET Framework에서 최신 .NET 업그레이드하거나, 최신 .NET 릴리스로 이동하거나, 클라우드 및 컨테이너용 앱을 현대화할 수 있습니다.

업그레이드 시기

비즈니스 또는 기술 신호에 명확한 값이 표시되면 업그레이드하는 것이 좋습니다.

  • .NET 또는 기타 종속성은 지원 종료에 도달합니다.
  • 새로운 보안 취약성이 발견되거나 새 규정 준수 요구 사항을 충족해야 합니다.
  • 최신 .NET 버전에서 다루는 성능 또는 확장성 제한에 직면합니다.

업그레이드는 앱을 현대화할 수 있는 좋은 기회이기도 합니다. 예를 들어 앱을 컨테이너화하거나, 구성 요소를 클라우드 네이티브 서비스로 이동하거나, 안정성과 조작성을 향상시키는 클라우드 패턴을 적용할 수 있습니다. 또한 업그레이드하면 개발을 간소화하고 유지 관리를 줄이는 최신 SDK, 템플릿 및 언어 기능을 사용하도록 설정하여 개발자 생산성을 향상시킵니다.

위험별 업그레이드 우선 순위 지정 및 반환: 대상 평가를 실행하고, 저위험 프로젝트에서 변경 내용을 파일럿하고, 결과를 사용하여 더 광범위한 마이그레이션을 계획합니다.

.NET 릴리스 수명 주기

.NET STS(표준 기간 지원)와 LTS(장기 지원) 릴리스 간에 교대로 새로운 주 버전을 매년 릴리스합니다. 각 릴리스에는 정의된 지원 창이 있으며, 그 후에는 더 이상 보안 및 품질 업데이트를 받지 않습니다. 앱이 지원되는 버전으로 유지되도록 이러한 날짜에 대한 업그레이드 주기를 계획합니다.

  • LTS 릴리스 는 3년 동안 지원되며 안정성을 선호하는 프로덕션 앱의 일반적인 선택입니다.
  • STS 릴리스는 18개월 동안 지원되며 새 기능을 더 빨리 채택하려는 경우에 유용합니다.

지원되는 버전, 지원 종료 날짜 및 패치 지침은 .NET 릴리스, 패치 및 지원.NET 및 .NET Framework 지원 정책 참조하세요.

.NET SDK는 최신 런타임을 아직 지원하지 않는 호스팅 서비스에 배포하는 경우 필요할 수 있는 이전 버전의 .NET 대상으로 지정할 수 있습니다. 각 릴리스는 보안 취약성을 해결하고 새로운 기술과의 호환성을 추가하므로 개발자 도구를 최신 상태로 유지합니다.

업그레이드 경로 선택

대부분의 업그레이드는 다음 범주 중 하나에 속합니다. 시나리오와 일치하는 지침으로 시작한 다음, 이 문서의 뒷부분에 설명된 도구를 사용하여 작업을 수행합니다.

  • .NET Framework에서 현대적인 .NET으로

    Windows 전용 .NET Framework 앱을 크로스 플랫폼 .NET으로 마이그레이션합니다. 앱 모델, 프로젝트 형식 및 일부 API가 변경되며 최신 .NET 사용할 수 없는 기술을 대체해야 할 수도 있습니다. 변경 내용 및 계획 방법에 대한 개요는 .NET Framework에서 .NET 참조하세요. 관련 지침:

  • 이전 .NET에서 최신 .NET으로

    지원 외 버전 또는 이전 .NET 버전에서 현재 릴리스로 이동합니다. 이러한 업그레이드는 일반적으로 규모가 더 작으며, 대부분 타깃 프레임워크, 종속성 및 호환성이 깨지는 변경 사항 업데이트입니다. 건너뛰는 버전의 .NET 호환성이 손상되는 변경 사항을 검토하세요.

  • 업그레이드 후 현대화

    앱이 최신 .NET 빌드 및 실행된 후 appsettings.json 구성, 종속성 주입, 최신 웹 및 데스크톱 컨트롤과 같은 최신 패턴을 활용합니다. 아이디어 및 단계별 지침은 .NET Framework에서 .NET 업그레이드한 후 Modernize를 참조하세요.

  • 클라우드로 이동

    앱을 컨테이너화하고, 온-프레미스 구성 요소를 관리되는 서비스로 바꾸고, 안정성 및 관찰성을 위해 클라우드 패턴을 채택합니다.

GitHub Copilot 앱 현대화 에이전트는 포팅 및 현대화 작업을 가속화하는 AI 지원 엔드투엔드 환경을 제공합니다. 에이전트는 프로젝트를 분석하고 원하는 업그레이드를 완료하기 위한 계획을 작성합니다. 계획을 조정하고 반복한 다음 업그레이드를 수행할 수 있습니다. 이 에이전트를 사용하면 다음을 수행할 수 있습니다.

  • 프로젝트를 최신 .NET 버전으로 업그레이드합니다.
  • 애플리케이션의 코드, 구성 및 종속성을 평가합니다.
  • 이전 .NET 버전에서 최신 릴리스로 프로젝트를 마이그레이션합니다.
  • 앱이 Azure에 의존하는 기술을 마이그레이션합니다.
  • 올바른 Azure 리소스를 계획하고 프로비전합니다.
  • 문제를 해결하고 클라우드 마이그레이션 모범 사례를 적용합니다.
  • 앱이 빌드되고 테스트가 통과하는지 확인합니다.

단계별 AI 기반 경로를 사용하여 코드베이스를 평가, 수정 및 현대화하고, 특히 종속성이 많거나, Windows 특정 API를 사용하거나, 컨테이너화하거나 클라우드로 마이그레이션하려는 프로젝트의 경우 에이전트를 사용합니다. 자세한 내용은 GitHub Copilot 앱 현대화란?을 참조하세요.

.NET 업그레이드 도우미(사용되지 않음)

.NET 업그레이드 도우미 프로젝트를 분석하고 일반적인 업그레이드 변경 내용을 적용하는 Visual Studio 확장 및 CLI 도구입니다. GitHub Copilot 앱 현대화 에이전트로 대체되어 공식적으로 사용 중단되었으며, 더 이상 적극적으로 개발되지 않습니다. 현대화 에이전트를 사용할 수 없는 경우에만 사용합니다(예: 환경에 GitHub Copilot 대한 액세스 권한이 없는 경우). 새 작업은 대신 현대화 에이전트를 대상으로 해야 합니다.

다음 단계