이전 버전에서 지원되지 않는 템플릿의 C# 코드

.NET 6부터 .NET SDK와 함께 제공된 프로젝트 템플릿은 최신 C# 언어 기능을 사용합니다. 다음 언어 기능은 템플릿 생성 코드에서 사용되거나 프로젝트에서 기본적으로 사용하도록 설정됩니다.

최신 C# 언어 기능 중 일부는 이전 대상 프레임워크에서 지원되지 않으므로 다음과 같은 시나리오에서 문제가 발생할 수 있습니다.

  • .NET 6 템플릿을 사용한 다음 대상 프레임워크를 이전 버전으로 변경하는 경우
  • .NET 6 템플릿을 사용한 다음 이전 대상 프레임워크 버전을 추가하여 다중 대상을 사용하는 경우

도입된 버전

.NET SDK 6.0.100

이전 동작

이전 .NET 버전에서는 프로젝트 템플릿에서 만든 C# 코드를 변경하지 않고도 대상 프레임워크를 이전 버전으로 변경하거나 추가 버전을 추가할 수 있습니다.

새 동작

.NET 6부터 대상 프레임워크를 변경하거나 추가할 때 지원되지 않는 언어 기능을 사용하지 않도록 템플릿에서 생성된 C# 코드를 변경해야 할 수 있습니다. 이러한 변경 없이는 프로젝트가 빌드되지 않습니다. 컴파일러 오류 및 경고는 일반적으로 생성된 코드를 변경하여 새 대상 프레임워크와 호환되도록 하는 방법을 안내합니다.

범주 변경

이 변경 내용은 원본 호환성에 영향을 미칩니다.

변경 이유

프로젝트 템플릿을 최신 언어 기능과 동기화하려고 합니다. 최신 프레임워크를 대상으로 하는 주요 사용 시나리오에서는 최신 C# 언어 기능을 사용합니다.

이전 프레임워크 버전으로 대상을 변경할 때 컴파일 시간 오류 및 경고가 발생하는 경우 해당 정보를 사용하여 생성된 코드를 변경하여 선택한 대상 프레임워크와 호환되도록 합니다.

이전 프레임워크를 대상으로 할 때 컴파일 시간 오류를 방지하려면 다음 제안을 따르세요.

  • 대상 프레임워크를 이전 버전으로 변경하지 마세요. 대신 Visual Studio 프로젝트를 만드는 동안 또는 명령줄에서 dotnet new <templateName> --framework <targetFramework>를 사용하여 원하는 대상 프레임워크를 선택합니다.
  • 다중 대상 프로젝트를 만들 때 프로젝트 생성 시 가장 낮은 대상 프레임워크 버전을 선택합니다. 프로젝트를 만든 후 추가 대상 프레임워크를 추가합니다.

영향을 받는 API

N/A