.NET 10 발표
(devblogs.microsoft.com)- .NET 10은 성능, 보안, 생산성, AI 통합을 대폭 강화한 최신 장기 지원(LTS) 릴리스로, 2028년 11월 10일까지 3년간 지원
- C# 14와 F# 10이 포함되어 코드 간결성과 표현력을 높였으며, JIT·NativeAOT·하드웨어 가속 등으로 실행 속도와 메모리 효율 개선
- Aspire 13은 분산 애플리케이션의 텔레메트리·서비스 탐색·클라우드 통합을 단일 플랫폼에서 관리하도록 지원
- Microsoft Agent Framework, Microsoft.Extensions.AI, Model Context Protocol(MCP) 등으로 AI 에이전트 및 다중 워크플로우 시스템 구축 가능
- Visual Studio 2026과 C# Dev Kit이 함께 출시되어, AI 기반 개발 지원과 Copilot 통합으로 개발자 생산성 극대화
.NET 10 개요
- .NET 10은 지금까지 가장 생산적이고 현대적이며 안전하고 지능적인 .NET 릴리스
- 전 세계 수천 명의 개발자 기여로 완성
- 언어, 도구, 워크로드 전반의 수천 가지 성능·보안·기능 개선 포함
-
LTS(장기 지원) 버전으로 2028년 11월 10일까지 지원
- 프로덕션 환경에서는 .NET 10 업그레이드 권장
- Visual Studio 2026 및 C# Dev Kit for VS Code 업데이트와 함께 배포
- .NET Conf 2025에서 주요 기능 시연
- NuGet에는 47만8천 개 이상의 패키지가 등록되어 누적 8천억 회 이상 다운로드됨
성능 향상
- .NET 10은 지금까지 중 가장 빠른 .NET으로, 런타임·워크로드·언어 전반의 개선 포함
- JIT 컴파일러: 인라이닝, 메서드 비가상화, 구조체 인자 코드 생성 개선
- 하드웨어 가속: AVX10.2, Arm64 SVE, GC 일시 중단 8~20% 감소
- NativeAOT: 더 작고 빠른 사전 컴파일 앱
- 루프 반전·스택 할당 최적화로 성능 향상
C# 14 및 F# 10
-
C# 14: 필드 기반 속성, 확장 속성·메서드,
Span변환,?.=연산자, 람다 매개변수 한정자,ref struct인터페이스 구현 등 추가 -
F# 10: 경고 범위 제어, 자동 속성 접근자 한정자,
ValueOption매개변수, 꼬리 호출 지원, 병렬 컴파일 프리뷰 등 개선-
and!구문으로 동시 작업 대기, 타입 서브섬션 캐시로 IDE 반응성 향상
-
.NET 라이브러리
- 암호화·네트워킹·직렬화 등 핵심 API 현대화
- 양자 이후 암호화(PQC) : ML-DSA, ML-KEM, 복합 ML-DSA 지원
- 네트워킹: WebSocketStream, macOS TLS 1.3, 성능 최적화
- JSON: 중복 속성 차단, PipeReader 지원, AES KeyWrap 추가
Aspire 13
- 분산 앱의 관찰성·서비스 탐색·클라우드 통합을 단일 플랫폼에서 제공
- CLI 개선, 단일 파일 AppHost, 병렬 배포, 인증서 관리 강화
- Python·JavaScript 등 다른 언어 서비스와 통합 가능
- OpenID Connect 인증, 보안 매개변수 인코딩, 대시보드 개선
인공지능 통합
- .NET은 단일 AI 통합부터 다중 에이전트 시스템까지 지원
- Microsoft Agent Framework: Semantic Kernel과 AutoGen 통합, 순차·병렬·핸드오프·그룹 채팅 워크플로우 지원
- AG-UI 프로토콜: 인간-에이전트 상호작용용 경량 이벤트 기반 UI 프로토콜
- Microsoft.Extensions.AI: OpenAI, Azure OpenAI, GitHub Models, Ollama 등 다양한 AI 공급자 통합 API 제공
- MCP(Model Context Protocol) : AI 에이전트가 데이터·API·도구에 표준 방식으로 접근하도록 지원
ASP.NET Core 10
-
보안·성능·관찰성·생산성 강화
- 자동 메모리 풀 해제, 패스키(WebAuthn/FIDO2) 인증, Native AOT OpenAPI 지원
- Blazor: 상태 지속성, 회로 일시중단·복원, 응답 스트리밍, 폼 검증, JavaScript 상호운용 개선
- API 개발: OpenAPI 3.1 기본 지원, YAML 문서, SSE(Server-Sent Events), 자동 검증 추가
- 관찰성: 내장 메트릭, Blazor 추적·진단 도구 강화
.NET MAUI 10
- iOS·Android·macOS·Windows용 크로스플랫폼 네이티브 앱 개발 지원
- Android 16, iOS 26.0 바인딩, HybridWebView 개선, SafeArea API 추가
- XAML 전역 네임스페이스 및 소스 제너레이터로 빌드 속도 향상
- Aspire 통합, 성능 진단, 안정성 개선
Entity Framework Core 10
-
AI 벡터 검색, JSON 타입 지원, 복합 타입 처리 강화
- SQL Server 2025 및 Azure SQL의
vector,json타입 완전 지원 - Cosmos DB의 하이브리드 검색 및 벡터 검색 GA
-
ExecuteUpdate로 JSON 컬럼 속성 부분 업데이트 가능 -
LeftJoin,RightJoin, 명명된 쿼리 필터, 보안 로그 개선
- SQL Server 2025 및 Azure SQL의
Windows 개발
-
WinUI 3, WPF, WinForms 전반의 성능·품질·스타일 개선
- WinForms: 클립보드 처리 및 UITypeEditors 이식
- WPF: Fluent 스타일 업데이트
개발자 도구
-
Visual Studio 2026: Copilot 기반 AI 개발 환경
- Adaptive paste, Profiler Copilot Agent, Debugger Agent, Mermaid 다이어그램, Fluent UI 테마
- 코드 커버리지, CMake 진단, SLNX 솔루션 포맷 지원
- GitHub Copilot: 코드 작성·테스트·디버깅 지원, .NET 10 업그레이드 가이드 제공
- C# Dev Kit for VS Code: SLNX, Razor 편집, 테스트 커버리지, NuGet 관리, Aspire 지원
-
.NET SDK: CLI 개선, 컨테이너 이미지 생성,
dotnet tool exec, 플랫폼별 도구, SLNX 포맷 - NuGet: 종속성 감사 기본 활성화, 취약 패키지 자동 업데이트, MCP 서버 배포 지원
장기 지원 정책
- .NET 10은 3년 지원 LTS 릴리스로 2028년 11월 10일까지 유지
- 짝수 버전은 LTS(3년), 홀수 버전은 STS(24개월)
- .NET 8·9는 2026년 11월 10일 지원 종료 예정
시작하기
- .NET 10 및 Visual Studio 2026 즉시 사용 가능
- 공식 문서에서 런타임, 라이브러리, SDK, C#, F#, ASP.NET Core, MAUI, EF Core, AI 관련 신규 기능 확인 가능
- “What’s new in .NET 10” 페이지를 통해 전체 변경 사항 탐색 가능
Hacker News 의견
-
우리 팀은 .NET 5 이후의 모든 업그레이드가 놀라울 정도로 매끄럽게 진행됨
CPU와 RAM 사용량이 10~15% 줄어서 실제로 클라우드 서버 인스턴스를 더 작은 사양으로 낮출 수 있었음
스타트업들 사이에서도 .NET이 더 인기를 얻었으면 좋겠음. 다만 C#이 가진 ‘엔터프라이즈용’ 이미지가 사라져야 함- 나도 .NET을 써봤고 C# 언어 자체는 마음에 들었음
하지만 언어와 런타임이 오픈소스가 되었음에도 불구하고, 여전히 상용 라이선스를 요구하는 라이브러리가 많아서 바로 포기했음
다른 어떤 생태계에서도 이런 경험은 없었음 - .NET은 다른 언어를 위한 플랫폼으로도 훌륭함
최근 RemObjects를 써봤는데, Java, Swift, Go, VB, Pascal 같은 언어를 .NET으로 컴파일할 수 있었음
이렇게 하면 .NET의 전체 프레임워크와 생태계를 그대로 활용할 수 있음
다양한 언어를 지원하니 스타트업이나 툴 중심 개발자들에게도 매력적임 - 내가 일하는 스타트업도 전부 C#과 .NET으로 구축되어 있음
이전 회사도 마찬가지였고, 두 곳 모두 Azure와 AWS를 혼합해 사용했음
이 스택 덕분에 생산성과 배포 속도가 매우 높았음 - 많은 스타트업이 컨테이너 기반으로 배포하는데, .NET의 CLR 의존성이 컨테이너화에는 잘 맞지 않음
Java JVM처럼 각 컨테이너에 런타임을 포함해야 해서 마이크로서비스 환경에서는 오버헤드가 큼
MS가 단일 실행 파일 빌드를 지원하긴 하지만, 1만 개 이상의 컨테이너를 운영하는 규모에서는 ELF로 직접 컴파일되는 언어가 더 적합함 - 완전히 동의함. 웹과 API 개발용으로 매우 안정적인 플랫폼임
수백 명의 개발자가 함께 사용 중인데, 기술적 측면이나 채용 측면 모두에서 후회한 적이 없음
특별히 .NET 전문가가 아니어도 잘 굴러감
- 나도 .NET을 써봤고 C# 언어 자체는 마음에 들었음
-
10년 넘게 .NET으로 일했고, 스타트업도 그 위에 구축했음
장점은 안정성, 표준 라이브러리의 품질, 생산성과 견고함의 균형, 훌륭한 패키지 관리, 그리고 매년 거의 무료로 얻는 성능 향상임
단점은 MS 중심 생태계, 윈도우 외 환경의 툴링 부족, 과도한 언어 기능, 열정이 덜한 문화, 그리고 여전히 남은 ‘쿨하지 않다’는 인식임
덧붙이자면 EFCore는 최고의 ORM임. 다른 ORM은 비교가 안 됨- 나는 Node와 JS 쪽에서 일하지만, 개인적으로 .NET은 꽤 멋진 플랫폼이라고 생각함
- “.NET 개발자는 열정이 덜하다”는 말은 일부 산업군에만 해당됨
예를 들어 모바일 게임 분야는 C# 기반이 많고, 그쪽 개발자들은 매우 열정적임
백엔드에서도 다루는 규모가 커서 흥미로움 - Mac과 Windows에서 Rider를 쓰는데, Visual Studio보다 더 좋은 경험을 주는 것 같음
다만 dotnet format 속도가 느려서 pre-commit 훅에 넣기 어렵다는 점이 아쉬움
그래도 전반적으로 dotnet은 훌륭한 환경임 - C#의 새로운 기능들은 언어를 훨씬 덜 번거롭게 만들어줌
예전 버전으로 돌아가서 개발하는 건 상상하기 어려움
레거시 앱을 다룰 때는 항상 langVersion을 latest로 설정함 - 나도 Rider를 Windows 외 환경에서 .NET 개발용으로 아주 잘 쓰고 있음
-
매일 F#을 사용하는데, computation expression에서 “and!” 지원이 추가되는 게 가장 기대됨
지금은 Task.WhenAll이나 Parallel.ForEachAsync로 감싸야 하는 부분을 F#의 네이티브 task computation으로 바꿀 수 있을 것 같음- F#을 정말 좋아함 (OCaml, Elm, Haskell도 마찬가지)
다만 언젠가 MS가 F#을 중단할까 걱정됨
그래도 대부분의 스택이 오픈소스이고 Linux에서도 잘 돌아가서 다행임
- F#을 정말 좋아함 (OCaml, Elm, Haskell도 마찬가지)
-
새로운 .NET 버전 소식을 볼 때마다, 그리스의 보수적인 .NET 시장이 떠오름
학위가 없으면 기술적으로 평가받기 어렵고, 개발자는 비용 센터로 취급됨
“Linux 데스크탑과 Rider를 씀”이라고 말하면 외계인 취급받는 현실이 아쉬움
현대적인 C# 개발이 훨씬 즐겁지만, 그게 다임- “Windows 환경을 벗어나지 않는 .NET 업계”를 말하는 건지 궁금함
- 뛰어난 .NET 개발자를 찾는 건 건초더미에서 바늘 찾기 수준임
JS 경험은 많지만 .NET은 얕은 사람들이 대부분이라, 진짜 실력자는 귀함
그런 배경을 가진 지원자라면 오히려 신선하게 느껴질 것임
-
언어, JIT, GC 등에서 깊은 컴퓨터 과학적 최적화가 이루어지는 걸 보는 게 흥미로움
AI나 웹 기술에만 집중된 세상에서 이런 소식은 신선함 -
드디어 C#에 extension properties가 추가됨
몇 년 동안 기다려온 기능임 -
개인 프로젝트를 .NET 10.0으로 업데이트했는데, MemoryMarshal.Cast 동작이 바뀌어 문제가 생김
이전엔 Span<ulong>이었는데 이제 ReadOnlySpan<ulong>으로 처리되어 할당이 불가능함
Span은 저수준 프로그래밍의 핵심 도구인데, 언어 초기에 도입되지 않아 아쉬움
매 버전마다 개선되지만, generics처럼 일찍 들어갔더라면 더 완벽했을 것임 -
C#의 생태계는 최고 수준임
C++ 개발 환경도 이렇게 견고했으면 좋겠음- 두 언어는 완전히 다른 성격임
C++에서 어떤 문제가 있는지 궁금함
사실 많은 생태계가 C++ 위에 구축되어 있기도 함
- 두 언어는 완전히 다른 성격임
-
Unity가 CoreCLR 전환을 마치면 정말 큰 변화가 있을 것 같음
완성되면 업계에 꽤 파급력 있는 발표가 될 듯함 -
이 글이 왜 이렇게 빨리 메인 페이지에서 사라졌는지 궁금했음
hnrankings.info 링크를 보니 처음부터 top30에 없었던 것 같음
74업보트에 16시간 된 글인데 이상함