8P by GN⁺ 11일전 | ★ favorite | 댓글 1개
  • .NET 10은 성능, 보안, 생산성, AI 통합을 대폭 강화한 최신 장기 지원(LTS) 릴리스로, 2028년 11월 10일까지 3년간 지원
  • C# 14F# 10이 포함되어 코드 간결성과 표현력을 높였으며, JIT·NativeAOT·하드웨어 가속 등으로 실행 속도와 메모리 효율 개선
  • Aspire 13은 분산 애플리케이션의 텔레메트리·서비스 탐색·클라우드 통합을 단일 플랫폼에서 관리하도록 지원
  • Microsoft Agent Framework, Microsoft.Extensions.AI, Model Context Protocol(MCP) 등으로 AI 에이전트 및 다중 워크플로우 시스템 구축 가능
  • Visual Studio 2026C# Dev Kit이 함께 출시되어, AI 기반 개발 지원과 Copilot 통합으로 개발자 생산성 극대화

.NET 10 개요

  • .NET 10은 지금까지 가장 생산적이고 현대적이며 안전하고 지능적인 .NET 릴리스
    • 전 세계 수천 명의 개발자 기여로 완성
    • 언어, 도구, 워크로드 전반의 수천 가지 성능·보안·기능 개선 포함
  • LTS(장기 지원) 버전으로 2028년 11월 10일까지 지원
    • 프로덕션 환경에서는 .NET 10 업그레이드 권장
  • Visual Studio 2026C# 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, 명명된 쿼리 필터, 보안 로그 개선

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 전문가가 아니어도 잘 굴러감
  • 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에서도 잘 돌아가서 다행임
  • 새로운 .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시간 된 글인데 이상함

    • 소프트웨어 패널티 때문에 순위가 과도하게 떨어졌던 것 같음
      그래서 직접 프론트 페이지로 복원하고 노출 시간을 되돌려줬음
    • 실제로 순위가 199위에서 2위로 급상승했음
      이 링크에서 확인 가능함
      처음엔 86위로 진입했었음