@al6uiz 님께서 제가 올렸던 초안을 원문에 맞게 다시 한번 다듬어주셨습니다. 감사합니다!
.NET 10은 3년간 지원되는 장기 지원(LTS) 릴리스로, 압도적인 성능 향상과 함께 AI, 웹, 크로스 플랫폼 개발을 위한 혁신적인 기능을 통합합니다. 특히, C# 14의 간결한 문법과 Microsoft Agent Framework를 통한 지능형 멀티 에이전트 시스템 구축 능력은 개발 생산성을 극대화하며, Native AOT 및 Aspire 통합을 통해 빠르고 관찰 가능한 프로덕션 앱을 손쉽게 배포할 수 있도록 돕습니다. 지금 바로 .NET 10으로 업그레이드하여 미래 지향적인 애플리케이션 개발의 모든 이점을 누리세요.
1. .NET 10 출시 개요 및 지원 정책
-
장기 지원(LTS) 릴리스 지정: .NET 10은 장기 지원(LTS) 릴리스로 지정되며, 2028년 11월 10일까지 3년간 지원될 예정이다.
-
업그레이드 권장 사항: 프로덕션 애플리케이션은 확장된 지원 기간, 중요한 성능 향상, 그리고 새로운 기능을 활용하기 위해 .NET 10으로 업그레이드하는 것이 강력히 권장된다.
-
다운로드 및 도구 가용성: .NET 10 다운로드와 함께 Visual Studio 2026 및 Visual Studio Code용 C# Dev Kit 업데이트가 현재 제공되고 있다.
-
출시 행사: .NET 팀, 파트너, 그리고 커뮤니티는 .NET Conf 2025에서 .NET 10의 새로운 기능을 선보이고 있으며, 관련 세션과 키노트 영상을 시청할 수 있다.
2. 활발한 .NET 커뮤니티 및 생태계 현황
-
커뮤니티 기여: .NET 10 출시는 커뮤니티의 이슈 제기, 풀 리퀘스트, 코드 리뷰, 피드백 등의 기여 덕분에 가능했다.
-
생태계 성장: .NET 생태계는 지속적으로 번성하고 있으며, NuGet에는 478,000개 이상의 패키지가 등록되어 있고, 이들은 8천억 회 이상 다운로드되었다.
-
주요 사용자: H&R Block, Geocaching, Chipotle, Fidelity 등 전 세계 수천 개의 회사와 Microsoft 내부 제품 및 서비스(Xbox, Bing, Microsoft Graph, Azure Cosmos DB, Microsoft Exchange, Microsoft Teams, Microsoft Copilot 등)가 핵심 애플리케이션 구축에 .NET을 신뢰하고 사용하고 있다.
3. 압도적인 성능 향상
- 최고 속도의 .NET: .NET 10은 런타임, 워크로드, 언어 전반에 걸친 개선을 통해 역대 가장 빠른 .NET 버전이다.
주요 성능 개선 사항
-
JIT 컴파일러 향상: 더 나은 인라이닝(inlining), 메서드 디버추얼라이제이션(method devirtualization), 그리고 구조체 인수에 대한 코드 생성 개선이 이루어졌다.
-
하드웨어 가속: 최첨단 Intel 실리콘을 위한 AVX10.2 지원과 고급 벡터화를 위한 Arm64 SVE가 지원된다.
-
Arm64 쓰기 장벽 개선을 통해 GC(가비지 컬렉션) 일시 중지 시간이 8~20% 감소되었다.
-
NativeAOT 개선: 미리 컴파일된 앱이 더 작고 빨라졌다.
-
런타임 최적화: 향상된 루프 인버전(loop inversion) 및 스택 할당 전략이 측정 가능한 성능 향상을 제공한다.
4. C# 14 및 F# 10 언어 개선 사항
4.1. C# 14 주요 기능
-
C#의 인기: C#은 2025년 GitHub Octoverse 보고서에서 상위 5위 안에 랭크될 정도로 세계에서 가장 인기 있는 프로그래밍 언어 중 하나로 남아 있다.
-
Field-backed properties: 명시적인 지원 필드(backing fields) 없이 속성 선언을 단순화하며, 컴파일러가 지원 필드를 자동으로 생성하여 코드를 더 깔끔하고 유지보수하기 쉽게 만든다.
-
Extension properties and methods: 인터페이스 및 정적 멤버를 포함하여 소유하지 않은 형식에 멤버를 추가할 수 있게 되어 확장 형식이 훨씬 강력해졌다.
추가 C# 14 기능
-
First-class
Span<T>conversions: 고성능Span작업에 대한 암시적 변환을 지원한다. -
Null-conditional assignment:
?.=연산자를 사용하여 더 깔끔한 널 안전 할당 코드를 작성할 수 있다. -
Parameter modifiers in lambdas: 명시적 형식 없이 람다에서
ref,in, 또는out매개변수를 사용할 수 있다. -
Collection expression extensions:
params에 대한..expression과 스프레드 구문[..expression]이 지원된다. -
Enhanced overload resolution:
[OverloadResolutionPriority]특성을 통해 더 나은 메서드 선택이 가능하다. -
Partial properties and constructors: 속성, 생성자, 이벤트를 포함하여 부분 멤버(partial members) 스토리를 완성한다.
-
ref structinterface implementations: 제로 할당 패턴으로 더 나은 성능을 제공한다.
4.2. F# 10 주요 기능
- F# 10의 목표: F# 10은 명확성, 일관성, 성능에 중점을 둔 개선 릴리스로, 일상적인 코드에 의미 있는 향상을 제공한다.
언어 개선 사항
-
Scoped warning suppression:
#warnon을#nowarn과 함께 사용하여 특정 코드 섹션 내에서 경고를 활성화하거나 비활성화함으로써 컴파일러 진단에 대한 정밀한 제어를 제공한다. -
Access modifiers on auto property accessors: 장황한 지원 필드 없이 공개적으로 읽을 수 있지만 비공개적으로 변경 가능한 속성을 생성할 수 있다.
-
ValueOptionoptional parameters: 선택적 매개변수에[<Struct>]속성을 적용하여 힙 할당된option대신 구조체 기반ValueOption<T>를 사용하여 성능이 중요한 코드에서 할당을 제거한다. -
Tail-call support in computation expressions: 빌더가
ReturnFromFinal및YieldFromFinal메서드를 통해 꼬리 호출 최적화를 선택할 수 있게 되었다. -
Typed bindings without parentheses: 계산 표현식에서 괄호 없이
let! x: int = fetchA()와 같은 자연스러운 형식 주석을 작성할 수 있다.
코어 라이브러리 및 성능
-
and!in task expressions:let! a = fetchA() and! b = fetchB()와 같은 관용적인 구문으로 여러 작업을 동시에 대기할 수 있다. -
Type subsumption cache: 형식 관계 검사를 메모이제이션(memoized)하여 컴파일 및 IDE 응답 속도를 높인다.
-
Parallel compilation preview:
LangVersion=preview를 통해 그래프 기반 형식 검사, 병렬 IL 코드 생성, 병렬 최적화가 기본적으로 활성화된다. -
Better trimming by default: 자동 생성된 대체(substitutions)가 F# 메타데이터 리소스를 제거하여 게시된 앱 크기를 줄인다.
5. .NET 라이브러리: 보안 및 현대적 API
5.1. 포스트 양자 암호화 (Post-Quantum Cryptography, PQC)
PQC 중요성
양자 컴퓨팅의 발전으로 포스트 양자 암호화의 중요성이 커지고 있으며, .NET 10의 확장된 PQC 지원은 기존 시스템과의 호환성을 유지하면서 양자 위협에 대비할 수 있도록 돕는다.
-
Windows CNG 지원: Windows 암호화 API를 사용하여 ML-DSA 및 ML-KEM 알고리즘을 사용할 수 있다.
-
Enhanced ML-DSA: 향상된 보안 특성을 위한 HashML-DSA 변형이 추가되었다.
-
Composite ML-DSA: 전통적인 알고리즘과 양자 저항 알고리즘을 결합한 하이브리드 접근 방식을 통해 심층 방어(defense-in-depth)를 제공한다.
5.2. 향상된 네트워킹 및 기타 라이브러리 개선
향상된 네트워킹
-
WebSocketStream: 사용하기 쉽고 효율적인 단순화된 WebSocket API가 제공된다.
-
TLS 1.3 on macOS: 모든 주요 플랫폼에서 최신 TLS 지원이 이루어진다.
-
Windows process group support: Windows에서 더 나은 프로세스 관리가 가능하다.
-
성능 최적화: HTTP, 소켓, WebSocket 전반에서 할당이 감소하고 처리량이 향상되었다.
추가 라이브러리 개선 사항
-
JSON 향상: 더 안전한 역직렬화를 위해 중복 속성을 허용하지 않으며, 향상된 직렬화 설정과 고성능 시나리오를 위한
PipeReader지원이 추가되었다. -
암호화 업데이트: 규정 준수 시나리오에서 안전한 키 래핑을 위한 AES KeyWrap with Padding이 추가되었다.
-
시스템 업데이트: 향상된 진단, 네이티브 코드와의 더 나은 상호 운용성, 향상된 컬렉션이 포함된다.
6. Aspire 13: 분산 앱 오케스트레이션 및 관찰 가능성
-
Aspire의 역할: Aspire는 내장된 텔레메트리, 서비스 검색, 클라우드 통합을 통해 관찰 가능하고 프로덕션 준비가 된 분산 앱을 쉽게 구축할 수 있도록 한다.
-
Aspire 13의 주요 개선 사항: .NET 10과 함께 출시되는 Aspire 13은 폴리글랏(polyglot) 개발, 최신 워크플로, 엔터프라이즈 배포를 위한 주요 개선 사항을 포함한다.
핵심 하이라이트
-
현대적인 개발 경험: CLI 향상, 간소화된 프로젝트 구성을 위한 단일 파일 AppHost 지원, 단순화된 템플릿을 통한 빠른 온보딩이 가능하다.
-
원활한 빌드 및 배포: 프론트엔드 앱을 위한 내장 정적 파일 사이트 지원, 더 빠른 릴리스를 위한 강력한 배포 병렬화, 프로덕션 준비가 된 컨테이너 워크플로가 제공된다.
-
엔터프라이즈 인프라: 애플리케이션 전반에서 일관되게 작동하는 유연한 연결 문자열 및 인증서 신뢰 관리가 가능하다.
추가 기능
-
Simplified AppHost SDK:
Aspire.AppHost.Sdk를 유일한 프로젝트 SDK로 설정할 수 있다. -
AddCSharpApp 지원:
AddProject의 대안으로 새로운CSharpAppResource및AddCSharpApp이 제공된다. -
Enhanced security: 민감한 구성 데이터를 위한 인코딩된 매개변수와 사용자 정의 가능한 리소스 인증서 신뢰가 가능하다.
-
Dashboard improvements: 유연한 인증을 위한 OpenID Connect 클레임 구성이 추가되었다.
다른 플랫폼과의 연동 (Polyglot Development)
-
.NET 애플리케이션이 Python, JavaScript 또는 기타 언어로 작성된 서비스와 통합될 때 Aspire 13은 이를 원활하게 만든다.
-
개발자는 포괄적인 디버깅 지원, 자동 생성된 Dockerfile, 모든 플랫폼에 걸친 통합된 환경 변수 패턴을 통해 .NET AppHost에서 전체 분산 애플리케이션을 오케스트레이션할 수 있다.
7. 인공지능 (AI) 기능 통합
7.1. Microsoft Agent Framework (MAF)
-
MAF의 목적: MAF는 Semantic Kernel과 AutoGen의 장점을 통합하여 지능형, 에이전트 기반 AI 시스템 구축을 단순화한다.
-
AI 워크플로 구축: 단일 AI 에이전트를 구축하거나 여러 에이전트를 오케스트레이션하는 데 필요한 패턴과 인프라를 제공하며, 최소한의 코드로 정교한 AI 워크플로를 생성할 수 있다.
지원되는 워크플로 패턴
-
Sequential workflows: 에이전트가 정의된 순서로 실행되며, 이전 에이전트의 출력이 다음 에이전트에게 입력된다.
-
Concurrent workflows: 여러 에이전트가 병렬로 작업하여 더 빠른 처리를 가능하게 한다.
-
Handoff workflows: 컨텍스트 및 요구 사항에 따라 에이전트가 동적으로 제어를 전달한다.
-
Group chat: 에이전트들이 대화를 통해 복잡한 문제를 해결하기 위해 협력한다.
-
Magentic: 전담 관리자(manager)가 전문화된 에이전트 팀을 조정한다.
-
도구 통합 및 프로덕션 지원: 간단한 C# 함수든 전체 MCP(Model Context Protocol) 서버든 도구를 원활하게 통합할 수 있으며, 종속성 주입, 미들웨어 파이프라인, OpenTelemetry를 통한 관찰 가능성을 기본적으로 지원하여 프로덕션 준비가 되어 있다.
AI Agent Web API 템플릿
-
Microsoft.Agents.AI.ProjectTemplates 패키지에 포함된 새로운
aiagent-webapi템플릿을 사용하여 ASP.NET Core를 통해 서버 호스팅 에이전트를 빠르게 구축할 수 있다. -
이 템플릿은 에이전트를 호스팅하고 표준 HTTP 엔드포인트로 노출하는 ASP.NET Core Web API 프로젝트를 생성한다.
-
Microsoft Agent Framework Dev UI가 포함되어 있어 웹 기반 테스트 하네스를 통해 에이전트와 워크플로를 시각화하고 검증할 수 있다.
AG-UI 프로토콜 지원
-
MAF는 풍부한 에이전트 사용자 인터페이스 구축을 위한 AG-UI 프로토콜을 지원한다.
-
AG-UI는 스트리밍 UI, 프론트엔드 도구 호출, 공유 상태 관리 등을 쉽게 구축할 수 있는 경량 이벤트 기반 프로토콜이다.
-
Microsoft.Agents.AI.Hosting.AGUI.AspNetCore 패키지를 사용하여 에이전트에 대한 AG-UI 엔드포인트를 쉽게 매핑할 수 있다.
-
기존 AG-UI 클라이언트 프레임워크(예: CopilotKit)를 사용하거나, Microsoft.Agents.AI.AGUI 패키지의 새로운 .NET AG-UI 채팅 클라이언트를 사용하여 .NET MAUI 또는 Blazor와 같은 .NET UI 프레임워크로 자체 UI 경험을 구축할 수 있다.
7.2. Microsoft.Extensions.AI 및 VectorData
- 통합 추상화 제공: Microsoft.Extensions.AI 및 Microsoft.Extensions.VectorData는 AI 서비스를 애플리케이션에 통합하기 위한 통합된 추상화를 제공한다.
IChatClient 인터페이스
-
IChatClient인터페이스는 OpenAI, Azure OpenAI, GitHub Models, Ollama 등 모든 공급자와 일관된 API를 통해 작동한다. -
이를 통해 코드를 다시 작성할 필요 없이 공급자를 쉽게 전환하거나 여러 백엔드를 지원할 수 있다.
통합 추상화 지원 기능
-
Provider flexibility: 코드 변경 없이 AI 공급자 간 전환이 가능하다.
-
Middleware pipeline: 모든 AI 호출에 캐싱, 로깅 또는 사용자 지정 동작을 추가할 수 있다.
-
Dependency injection: 익숙한 .NET 패턴을 사용하여 AI 서비스를 등록할 수 있다.
-
Telemetry: AI 사용 모니터링을 위한 OpenTelemetry 지원이 내장되어 있다.
-
Vector data: 벡터 데이터베이스 및 의미 검색을 위한 통합된 추상화가 제공된다.
-
호환성: 이러한 구성 요소는 Microsoft Agent Framework, Semantic Kernel 및 자체 AI 구현과 원활하게 작동한다.
7.3. Model Context Protocol (MCP) 지원
-
MCP의 역할: .NET은 외부 도구 및 서비스로 AI 에이전트를 확장하기 위한 MCP(Model Context Protocol) 지원을 제공한다.
-
표준화된 접근: MCP는 AI 에이전트가 데이터 소스, API 및 도구에 표준화된 방식으로 액세스할 수 있도록 하여 에이전트를 더 유능하고 다재다능하게 만든다.
-
MCP 서버 구축: .NET AI 템플릿을 설치하고 MCP 서버 템플릿을 사용하여 MCP 서버를 빠르게 구축하고 게시할 수 있다.
-
C# MCP SDK: C# MCP SDK는 정기적인 릴리스를 통해 최신 프로토콜 업데이트를 구현하며, 성장하는 MCP 생태계와의 호환성을 보장한다.
MCP를 통한 AI 에이전트 기능
-
데이터베이스 및 API에 안전하게 액세스할 수 있다.
-
명령 및 워크플로를 실행할 수 있다.
-
파일을 읽고 수정할 수 있다.
-
비즈니스 시스템과 통합할 수 있다.
-
전문화된 도구 및 서비스를 사용할 수 있다.
-
생태계 조성: MCP는 AI 에이전트가 외부 리소스와 상호 작용하는 방식을 표준화하여 .NET 생태계 전반에서 AI 기능을 구축, 공유 및 구성하는 것을 더 쉽게 만든다.
8. ASP.NET Core: 웹 앱 및 API 개발 개선
8.1. ASP.NET Core 핵심 개선 사항
-
주요 초점: 이번 릴리스는 보안, 관찰 가능성 및 진단, 성능, 개발자 생산성에 중점을 두어 최신 웹 경험 구축을 위한 더 강력한 도구를 제공한다.
-
자동 메모리 풀 축출: 장기 실행 애플리케이션에서 더 이상 필요하지 않은 메모리를 메모리 풀이 보유하는 문제를 해결하기 위해 자동 축출 기능이 도입되어, 유휴 메모리를 시스템에 반환하여 애플리케이션의 메모리 사용량을 줄이는 데 도움이 된다.
-
웹 인증(Passkey) 지원: ASP.NET Core Identity는 WebAuthn 및 FIDO2 표준 기반의 패스키(passkey)를 지원하여 더 안전한 암호 없는 인증 경험을 구축할 수 있게 한다.
-
Native AOT 향상:
webapiaot템플릿에 OpenAPI 지원이 기본적으로 포함되며, 새로운 AOT 친화적인 유효성 검사를 통해 문서화된 미리 컴파일된 API를 더 쉽게 구축할 수 있다.
8.2. Blazor: 생산적인 컴포넌트 기반 웹 개발
컴포넌트 상태 지속성
-
선언적 상태 지속성: 사전 렌더링(prerendering) 중 상태 지속이 훨씬 간단해졌으며,
[PersistentState]특성을 사용하여 보존해야 할 상태를 선언적으로 표시할 수 있다. -
회로 상태 지속성: Blazor 회로(circuits)가 네트워크 중단에 더 탄력적으로 대응하며, 장기간 연결이 끊긴 후 회로가 축출되기 전에 컴포넌트 상태가 자동으로 지속되어 사용자가 작업을 잃지 않도록 한다.
-
회로 일시 중지 및 재개: 새로운 API를 통해 회로를 "일시 중지"하고 "재개"할 수 있어 비활성 클라이언트에 대한 리소스를 확보하여 서버 확장성을 개선한다.
성능 및 안정성
-
최적화된 프레임워크 스크립트: Blazor 프레임워크 스크립트가 사전 압축되고 핑거프린팅된 정적 웹 자산으로 제공되어 로드 성능을 개선하고 적절한 캐싱을 보장한다.
-
WebAssembly 사전 로딩: 초기 로드 시간을 개선하기 위해 Blazor Web Apps는 이제 Link 헤더를 사용하여 프레임워크 자산을 자동으로 사전 로드하며, 독립 실행형 WebAssembly 앱도 고우선순위 자산 다운로드의 이점을 얻는다.
-
응답 스트리밍 기본 활성화: Blazor WebAssembly 앱에서 HttpClient 응답이 기본적으로 스트리밍되어 대용량 응답 처리 시 성능을 개선하고 메모리 사용량을 줄일 수 있다.
폼 및 유효성 검사
-
향상된 폼 유효성 검사: 새로운 소스 생성기 기반 시스템을 사용하여 중첩된 객체 및 컬렉션 항목을 자동으로 유효성 검사할 수 있으며, 이는 고성능이며 AOT 호환된다.
-
새로운 InputHidden 컴포넌트: 폼에서 숨겨진 입력 필드를 렌더링하기 위한 새로운 컴포넌트가 제공된다.
개발자 경험
-
자동화된 브라우저 테스트:
WebApplicationFactory가 Playwright와 같은 브라우저 자동화 도구를 사용한 엔드투엔드 테스트를 지원하여 자동화된 UI 테스트 작성을 용이하게 한다. -
JavaScript Interop 개선: JavaScript 객체의 인스턴스를 생성하고, 생성자를 호출하며, 동기 및 비동기 API를 사용하여 속성을 직접 읽거나 수정할 수 있게 되어 상호 운용성이 더욱 강력해졌다.
-
향상된 “Not Found” 처리:
Router컴포넌트에서 전용 “Not Found” 페이지를 지정할 수 있으며,NavigationManager.NotFound()메서드를 통해 서버 측 렌더링 또는 대화형 렌더링 중에 “Not Found” 응답을 쉽게 트리거할 수 있다. -
QuickGrid 향상:
QuickGrid컴포넌트에RowClass매개변수가 추가되어 데이터에 따라 행에 사용자 지정 CSS 클래스를 적용할 수 있으며, 열 옵션 UI 숨기기를 명시적으로 처리할 수 있다.
8.3. 빠르고 현대적인 API 구축 (Minimal APIs 및 OpenAPI)
OpenAPI 개선 사항
-
OpenAPI 3.1 기본 지원: ASP.NET Core는 이제 OpenAPI 3.1 문서를 생성하며, 최신 JSON Schema 초안을 지원하여 널 허용 형식(nullable types)의 표현을 개선한다.
-
XML Comments 통합: OpenAPI 소스 생성기가 C# XML 주석을 자동으로 사용하여 생성된 OpenAPI 문서에 설명, 요약 및 기타 문서 필드를 채운다.
-
YAML OpenAPI 문서: OpenAPI 문서를 YAML 형식으로 제공할 수 있어 JSON보다 사람이 읽기 쉬운 대안을 제공한다.
-
향상된 응답 설명:
ProducesResponseType특성에 선택적Description매개변수가 포함되어 API 응답에 더 많은 컨텍스트를 제공할 수 있다.
Minimal APIs 향상
-
내장 유효성 검사:
AddValidation()을 호출하여 쿼리, 헤더 및 요청 본문 매개변수에 대한 자동 유효성 검사를 활성화할 수 있다. -
유효성 검사가 실패하면 프레임워크는 유효성 검사 세부 정보와 함께 자동으로 400 Bad Request 응답을 반환하며, 이는
DataAnnotations와 함께 작동하고 중첩된 객체 및 컬렉션을 지원한다. -
Server-Sent Events (SSE) 지원: 새로운
TypedResults.ServerSentEvents()메서드를 통해 단일 HTTP 연결을 통해 클라이언트에 실시간 업데이트를 쉽게 스트리밍할 수 있다. -
사용자 정의 가능한 오류 응답:
IProblemDetailsService와 유효성 검사 로직을 통합하여 일관되고 사용자 정의된 오류 응답을 생성할 수 있다.
8.4. 향상된 관찰 가능성 및 진단
-
새로운 내장 메트릭: ASP.NET Core는 Blazor, 인증 및 권한 부여, Identity, 그리고 새로운 메모리 풀을 포함한 주요 구성 요소를 모니터링하기 위한 풍부한 새로운 메트릭 세트를 포함한다.
-
향상된 Blazor 추적: Blazor Server 추적이 향상되어 회로 활동에 대한 더 자세한 정보를 제공함으로써 실시간으로 문제를 진단하기 쉽게 만든다.
-
Blazor WebAssembly 진단 도구: Blazor WebAssembly 애플리케이션을 위한 새로운 진단 도구가 제공되어 CPU 성능 프로파일을 수집하고, 메모리 덤프를 캡처하며, 런타임 메트릭을 수집할 수 있다.
9. .NET MAUI: 네이티브 크로스 플랫폼 앱 구축
플랫폼 업데이트
-
Android 16 (API 36 & 36.1): 최신 플랫폼 기능을 포함한 바인딩이 제공된다.
-
iOS 26.0: 최신 iOS 기능을 위한 바인딩이 제공된다.
-
Marshal methods enabled: 기본적으로 마샬 메서드가 활성화되어 시작 성능이 향상되었다.
컨트롤 향상
-
HybridWebView: 플랫폼별 사용자 정의를 위한 새로운 초기화 이벤트(WebViewInitializing,WebViewInitialized),InvokeJavaScriptAsync오버로드, JavaScript 예외 처리가 추가되었다. -
Web request interception:
BlazorWebView및HybridWebView에 대해 헤더 수정, 요청 리디렉션 또는 로컬 응답 제공이 가능하다. -
CollectionView/CarouselView: 향상된 iOS 핸들러가 이제 기본값으로 설정된다. -
MediaPicker: 자동 EXIF 처리,PickMultipleAsync를 사용한 다중 파일 선택, 이미지 압축 지원이 추가되었다. -
SafeArea management: 새로운 SafeAreaEdges API를 통해 여러 플랫폼을 지원하도록 향상되었다.
-
Secondary toolbar items: iOS 및 macOS에 보조 도구 모음 항목이 추가되었다.
XAML 개선 사항
-
Global and implicit XML namespaces: 선택적 기능으로, 반복적인 네임스페이스 선언을 제거하여 XAML 마크업을 단순화한다.
-
New XAML source generator: 컴파일 타임 XAML 처리를 통해 더 빠른 빌드 시간과 더 나은 IntelliSense 지원을 제공한다.
추가 하이라이트
-
Aspire 통합: 텔레메트리 및 서비스 검색을 포함하는 새로운 프로젝트 템플릿이 제공된다.
-
Diagnostics:
ActivitySource및 메트릭을 사용한 포괄적인 레이아웃 성능 모니터링이 가능하다. -
Quality focus: 안정성과 성능에 대한 지속적인 개선이 이루어졌다.
10. Entity Framework Core 10: 고급 데이터 액세스
10.1. Azure SQL 및 SQL Server 지원
-
Vector search support: 새로운
vector데이터 형식과VECTOR_DISTANCE()함수를 완벽하게 지원하여 SQL Server 2025 및 Azure SQL Database에서 의미 검색 및 RAG와 같은 AI 워크로드를 가능하게 한다. -
JSON data type: SQL Server 2025의 네이티브 json 형식을 자동으로 사용하여 더 나은 성능과 안전성을 제공하며,
JSON_VALUE()및RETURNING절을 사용하여 전체 LINQ 지원으로 쿼리할 수 있다. -
Custom default constraint names: 기본 제약 조건의 이름을 지정하거나 모든 제약 조건에 대해 자동 이름 지정을 활성화할 수 있다.
10.2. Azure Cosmos DB 지원
-
Full-text search:
FullTextContains,FullTextContainsAll,FullTextContainsAny,FullTextScore함수를 사용하여 관련성 점수와 함께 효율적인 텍스트 검색을 활성화한다. -
Hybrid search:
RRF(Reciprocal Rank Fusion) 함수를 사용하여 벡터 유사도와 전체 텍스트 검색을 결합하여 AI 검색 정확도를 개선한다. -
Vector search GA: 벡터 유사도 검색이 향상된 모델 빌딩 API와 소유 참조 엔터티(owned reference entities) 지원을 통해 프로덕션 준비가 완료되었다.
10.3. 복합 형식 및 JSON 처리 개선
-
Optional complex types: 복합 형식을 널 허용(nullable)으로 표시하여 더 유연한 데이터 모델을 만들 수 있다.
-
JSON mapping: 복합 형식을 단일 JSON 열에 매핑할 수 있으며, 전체 LINQ 쿼리 지원과
ExecuteUpdate를 통한 효율적인 대량 업데이트가 가능하다. -
Struct support: 적절한 값 의미론(value semantics)을 가진 복합 형식에 대해 클래스 대신 .NET 구조체(structs)를 사용할 수 있다.
-
ExecuteUpdatefor JSON: JSON 열 속성을 효율적으로 대량 업데이트할 수 있으며, 전체 문서를 로드하지 않고 속성을 제자리에서 업데이트한다.
10.4. LINQ 및 쿼리 개선 사항
-
Better parameterized collections: 새로운 기본 변환은 각 값을 별도의 매개변수로 전송하며, 카디널리티 정보를 보존하면서 쿼리 계획 캐싱을 최적화하기 위해 패딩을 추가한다.
-
LeftJoin and RightJoin support: .NET 10의 새로운 LINQ 조인 연산자에 대한 일급 지원이 제공되어 더 간단한 외부 조인 쿼리를 가능하게 한다.
-
Consistent split query ordering: 모든 SQL 문에서 적절한 순서를 통해 분할 쿼리(split queries)의 데이터 일관성 문제가 해결되었다.
10.5. 추가 하이라이트
-
Named query filters: 엔터티 형식당 여러 쿼리 필터를 정의하고 쿼리에서 특정 필터를 선택적으로 비활성화할 수 있다.
-
ExecuteUpdatewith regular lambdas: 복잡한 표현식 트리 코드 없이 동적 업데이트 작업을 구축할 수 있다. -
Security improvements: 인라인 상수가 기본적으로 로그에서 수정(redacted)되며, 원시 SQL API에서 문자열 연결에 대한 분석기 경고가 제공된다.
11. Windows 개발: 현대적인 데스크톱
- 지속적인 향상: .NET 10은 WinUI 3, WPF, WinForms 전반에 걸쳐 Windows 앱 개발을 지속적으로 향상시킨다.
주요 하이라이트
-
Windows Forms: 향상된 클립보드 처리와 .NET Framework에서 포팅된
UITypeEditors를 통해 더 나은 마이그레이션 지원이 제공된다. -
WPF: 성능 개선, Fluent 스타일 업데이트, 품질 향상이 이루어졌다.
-
WinUI 3: 최신 Windows App SDK 기능 및 개선 사항이 포함된다.
12. 개발자 도구 및 생산성 환경
12.1. Visual Studio 2026: AI 기반 개발 및 성능 향상
AI 기반 개발
-
Adaptive paste: Copilot이 붙여넣은 코드를 파일의 컨텍스트에 맞게 조정하며, 이름 수정, 서식 지정, 언어 간 번역(예: C++를 C#로)을 자동으로 수행한다.
-
Profiler Copilot Agent: CPU 사용량, 메모리 할당을 분석하고 최적화를 제안하며 BenchmarkDotNet 벤치마크를 생성하는 AI 비서이다.
-
Debugger Agent for unit tests: 실패한 테스트를 자동으로 디버깅하고, 가설을 형성하며, 수정 사항을 적용하고, 솔루션을 반복적으로 검증한다.
-
Code actions at your fingertips: 오른쪽 클릭 컨텍스트 메뉴에서 일반적인 작업(설명, 최적화, 테스트 생성 등)에 대한 즉각적인 Copilot 지원을 제공한다.
-
Copilot URL context: Copilot Chat에서 웹 문서를 직접 참조하여 더 정확한 응답을 얻을 수 있다.
생산성 향상
-
Mermaid chart rendering: Markdown 편집기와 Copilot Chat 응답에서 순서도 및 다이어그램을 직접 시각화한다.
-
Enhanced editor controls: 편집 경험을 극대화하기 위한 고급 여백 기능이 제공된다.
-
File exclusions in search: 검색 결과에 포함되는 파일을 더 잘 제어할 수 있다.
-
Code coverage for all editions: Dynamic code coverage가 Professional 에디션에서도 제공되며, 테스트된 줄이 편집기에서 직접 강조 표시된다.
디버깅 및 진단
-
Inline if-statement evaluation: 인라인 값과 Copilot 통찰력을 통해 조건부 로직을 더 빠르게 디버깅할 수 있다.
-
BenchmarkDotNet project template: 내장된 CPU 프로파일링 및 Copilot 통찰력으로 성능 벤치마킹을 빠르게 시작할 수 있다.
-
CodeLens with Optimize Allocations: 편집기에서 바로 Copilot에게 메모리 집약적인 메서드를 최적화하도록 요청할 수 있다.
-
Profiler Agent thread summarization: 토큰 제한에 접근할 때 컨텍스트를 유지하는 스마트 대화 요약 기능이 제공된다.
-
CMake diagnostics: CMake 프로젝트에서 CPU 사용량, 이벤트 뷰어, 메모리 사용량, 파일 I/O 도구에 대한 전체 지원이 제공된다.
현대적인 경험
-
New look and feel: Fluent UI 디자인 시스템과 11개의 새로운 틴티드 테마, 독립적인 편집기 모양 설정이 적용되었다.
-
Modern settings experience: Tools > Options를 대체하는 간소화되고 사용자 친화적인 설정 인터페이스가 제공된다.
-
SLNX support: 더 깔끔한 버전 관리를 위한 새로운 단순화된 솔루션 형식(SLNX)으로 작업할 수 있다.
-
Performance enhancements: 더 빠른 시작, 더 나은 메모리 관리, 전반적인 응답성 향상이 이루어졌다.
-
Aspire integration: 전문화된 도구 및 템플릿을 통한 Aspire 프로젝트에 대한 원활한 지원이 제공된다.
12.2. GitHub Copilot 및 C# Dev Kit
GitHub Copilot 기능
-
AI completions for C#: 관련 파일의 컨텍스트를 통해 더 나은 C# 코드 완성을 제공한다.
-
Fix code issues: AI 지원 문제 해결이 가능하다.
-
Debug tests: 실패한 테스트 디버깅에 도움을 준다.
-
IEnumerable visualizer: AI 기반 LINQ 표현식을 시각화한다.
-
Modernize to .NET 10: 기존 .NET 애플리케이션을 .NET 10으로 업그레이드하고 현대화하는 데 도움을 주며, 주요 변경 사항, 새 API 및 모범 사례에 대한 지침을 제공한다.
C# Dev Kit for Visual Studio Code 업데이트
-
Solution-less workspace mode: 더 간단한 프로젝트를 위해 자동 솔루션 파일 생성 없이 작업할 수 있다.
-
SLNX support: 새로운 XML 기반 솔루션 형식에 대한 전체 도구 지원이 제공된다.
-
Enhanced Razor editing: Blazor 및 Razor Pages에서 향상된 IntelliSense, 서식 지정, 코드 탐색이 가능하다.
-
Integrated test coverage: 편집기에서 시각적 표시기와 함께 VS Code의 코드 커버리지 UI에 대한 네이티브 지원이 제공된다.
-
Custom project templates: VS Code에서 직접 타사 및 사용자 지정
dotnet new템플릿으로 프로젝트를 생성할 수 있다. -
NuGet package management: 통합된 명령으로 패키지를 추가, 업데이트 및 제거할 수 있다.
-
Drag-and-drop file management: 솔루션 탐색기 내에서 프로젝트를 쉽게 재구성할 수 있다.
-
Aspire support: 전체 오케스트레이션 지원을 통해 Aspire 프로젝트를 실행하고 디버깅할 수 있다.
12.3. .NET SDK 및 NuGet CLI 향상
.NET SDK CLI 향상
-
dotnet test에서 통합 테스트 실행을 위한 Microsoft.Testing.Platform 지원이 추가되었다. -
인기 있는 셸(bash, fish, PowerShell, zsh, nushell)을 위한 네이티브 탭 완성 스크립트가 제공된다.
-
Docker 파일이나
EnableSdkContainerSupport없이도 콘솔 앱을 위한 컨테이너 이미지를 네이티브로 생성할 수 있다. -
dotnet tool exec및 새로운dnx스크립트를 사용한 원샷 도구 실행이 가능하다. -
기계가 읽을 수 있는 명령 설명을 위한
--cli-schema를 사용한 CLI 인트로스펙션이 가능하다. -
자체 포함, 트리밍 및 AOT 옵션을 가진 여러
RuntimeIdentifiers를 지원하는 플랫폼별 .NET 도구가 제공된다. -
게시 및 네이티브 AOT 지원을 통해 향상된 파일 기반 앱이 제공된다.
-
SLNX 솔루션 형식이 지원되며, 이는 사람이 읽기 쉽고 관리하기 쉬운 단순화된 XML 기반 솔루션 파일이다.
NuGet: 보안 및 생산성 향상
-
Enhanced security: .NET 10 프로젝트에 대해 기본적으로 전이적 종속성 감사가 활성화되며, GitHub Advisory Database와의 통합 및 Dependabot 지원을 통해 자동 보안 업데이트가 가능하다.
-
MCP support: NuGet을 통해 MCP 서버를 게시하고 사용할 수 있다.
-
New NuGet.org: 다크 모드가 적용된 새로운 디자인이 제공된다.
-
Vulnerability remediation:
dotnet package update --vulnerable명령을 사용하여 취약한 패키지를 첫 번째 보안 버전으로 업데이트할 수 있다.
13. .NET 10 장기 지원 및 릴리스 일정
-
LTS 지원 기간: .NET 10은 3년간 지원되는 LTS 릴리스이며, 2028년 11월 10일까지 주요 업데이트 및 보안 패치를 받는다.
-
릴리스 주기: .NET은 짝수 번호 LTS 릴리스(3년 지원)와 홀수 번호 STS(Standard Term Support) 릴리스(24개월 지원)로 구성된 예측 가능한 연간 릴리스 주기를 따른다.
-
STS 지원 연장: 최근 STS 지원이 18개월에서 24개월로 연장됨에 따라, .NET 9와 .NET 8은 .NET 10이 마지막 지원 연도를 시작하는 날과 같은 날인 2026년 11월 10일에 지원이 종료될 예정이다 .