다음을 통해 공유


.NET 10용 SDK 및 도구의 새로운 기능

이 문서에서는 .NET 10용 .NET SDK의 새로운 기능 및 향상된 기능을 설명합니다. 미리 보기 5용으로 업데이트되었습니다.

프레임워크 제공 패키지 참조 삭제

.NET 10부터 NuGet 감사 기능은 이제 프로젝트에서 사용하지 않는 프레임워크 제공 패키지 참조 정리할 있습니다. 이 기능은 기본적으로 모든 net 대상 프레임워크(예: net8.0net10.0) 및 .NET Standard 2.0 이상 대상 프레임워크에 대해 사용하도록 설정됩니다. 이러한 변경은 빌드 프로세스 중에 복원 및 분석되는 패키지 수를 줄이는 데 도움이 되며, 이로 인해 빌드 시간이 빨라지고 디스크 공간 사용량이 감소할 수 있습니다. 또한 NuGet 감사 및 기타 종속성 검사 메커니즘에서 거짓 양성을 줄일 수 있습니다.

이 기능을 사용하도록 설정하면 애플리케이션에서 생성된 .deps.json 파일의 내용이 감소할 수 있습니다. .NET 런타임에서 제공하는 모든 패키지 참조는 생성된 종속성 파일에서 자동으로 제거됩니다.

이 기능은 나열된 TFM에 대해 기본적으로 사용하도록 설정되어 있지만 프로젝트 파일 또는 RestoreEnablePackagePruning 파일에서 false 속성을 설정하여 사용하지 않도록 설정할 수 있습니다.

보다 일관된 명령 순서

.NET 10부터 dotnet CLI 도구에는 보다 쉽게 기억하고 입력할 수 있도록 공통 명령에 대한 새로운 별칭이 포함되어 있습니다. 새로운 명령어는 다음 표에 표시됩니다.

새 명사 우선 양식 별칭에 대한
dotnet package add dotnet add package
dotnet package list dotnet list package
dotnet package remove dotnet remove package
dotnet reference add dotnet add reference
dotnet reference list dotnet list reference
dotnet reference remove dotnet remove reference

새 명사 우선 양식은 일반 CLI 표준과 일치하므로 dotnet CLI가 다른 도구와 더 일치합니다. 동사 우선 형태가 여전히 작동하긴 하지만, 스크립트와 문서에서 가독성과 일관성을 높이기 위해 명사 우선 형태를 사용하는 것이 좋습니다.

CLI 명령은 기본적으로 대화형 터미널에서 대화형 모드로 설정됩니다.

--interactive 이제 대화형 터미널의 CLI 명령에 대해 플래그가 기본적으로 사용하도록 설정됩니다. 이 변경을 통해 명령은 플래그를 명시적으로 설정하지 않고도 동적으로 자격 증명을 검색하거나 다른 대화형 동작을 수행할 수 있습니다. 비대화형 시나리오의 경우 를 지정 --interactive false하여 대화형 작업을 사용하지 않도록 설정할 수 있습니다.

네이티브 셸 탭 완성 스크립트

이제 dotnet CLI는 dotnet completions generate [SHELL] 명령을 통해 인기 있는 셸에 대한 네이티브 탭 완성 스크립트를 생성하는 기능을 지원합니다. 지원되는 셸에는 bash, fish, nushell, powershell, 및 zsh가 포함됩니다. 이러한 스크립트는 더 빠르고 통합된 탭 완성 기능을 제공하여 유용성을 향상시킵니다. 예를 들어, PowerShell에서 다음 코드를 추가하여 자동 완성을 활성화할 수 있습니다 $PROFILE.

dotnet completions script pwsh | out-String | Invoke-Expression -ErrorAction SilentlyContinue

콘솔 앱은 기본적으로 컨테이너 이미지를 만들 수 있습니다.

이제 콘솔 앱은 프로젝트 파일의 dotnet publish /t:PublishContainer 속성을 요구하지 않고 컨테이너 이미지를 <EnableSdkContainerSupport> 만들 수 있습니다. 그러면 콘솔 앱이 ASP.NET Core 및 Worker SDK 앱의 동작과 일치합니다.

컨테이너의 이미지 형식을 명시적으로 제어

<ContainerImageFormat> 속성을 사용하면 컨테이너 이미지의 형식을 명시적으로 둘 중 하나 Docker 또는 OCI로 설정할 수 있습니다. 이 속성은 기본 이미지 형식 및 컨테이너가 다중 아키텍처인지 여부에 따라 달라지는 기본 동작을 재정의합니다.

dotnet test에서 Microsoft 테스트 플랫폼 지원

.NET 10 dotnet test 부터 기본적으로 Microsoft.Testing.Platform을 지원합니다. 이 기능을 사용하도록 설정하려면 dotnet.config 파일에 다음 구성을 추가합니다.

[dotnet.test.runner]
name = "Microsoft.Testing.Platform"

자세한 내용은 테스트를 dotnet test참조하세요.