Skip to content

Dotnet

  • Published on
    C#의 async/await는 2012년부터 줄곧 컴파일러 기능이었습니다. Roslyn이 메서드 본문을 상태 머신 클래스로 재작성하고, 런타임은 그게 async인지도 모른 채 실행했죠. .NET 11의 runtime-async는 그 재작성을 런타임 안으로 옮깁니다 — 메서드에 MethodImplOptions.Async 플래그가 붙고, 중단과 재개는 JIT과 VM이 직접 처리합니다. 눈에 보이는 첫 성과는 살아 있는 스택 트레이스가 13프레임에서 5프레임으로 줄어든 것이고, 프리뷰 4부터는 런타임 라이브러리 자체가 이 방식으로 컴파일돼 출하됩니다. 즉 당신이 켜지 않아도 BCL의 async 경로는 이미 이걸로 돕니다. 다만 여전히 프리뷰이고, 스펙이 못 박은 영구 제약(반환 타입 4종, byref 지역변수 비호이스팅)이 있으며, 풀링 빌더 회귀·ExecutionContext.SuppressFlow 미준수·IIS in-process 500 같은 이슈가 열려 있습니다. 이 글은 프리뷰 1부터 6까지의 실제 커밋 흔적을 따라가며 무엇이 되고 무엇이 아직 안 되는지 정리합니다.
  • Published on
    2026년의 .NET은 한 명의 후계자가 아니라, 여러 가지 작은 결정들이 모여 이룬 결과다. .NET 10 (2025년 11월, LTS)이 새로운 플래그십이 되었고, .NET 9 (2024년 11월, STS)는 짧고 굵게 사용되었다. ASP.NET Core 10은 Minimal APIs / FastEndpoints / Carter라는 세 가지 라우팅 스타일을 동시에 품었고, Aspire (2024년 11월 GA)는 .NET 진영 최초의 본격적인 클라우드 네이티브 오케스트레이션을 가져왔다. UI 쪽은 Blazor United (Server + WASM + SSR + streaming)와 .NET MAUI, 그리고 커뮤니티의 사랑을 받는 Avalonia 11이 셋으로 갈라졌다. EF Core 9, MediatR, MassTransit, NServiceBus, NativeAOT, Roslyn analyzers, NuGet, dotnet CLI — 그리고 한국·일본의 실제 채택 사례까지 정리한다.
  • Published on
    2026년의 .NET은 더 이상 윈도우 전용 엔터프라이즈 런타임이 아니다. .NET 9가 STS로 잠깐 머물다가 .NET 10이 LTS로 자리잡고, C# 13의 params 컬렉션과 lock 객체가 일상 코드를 바꾸고, ASP.NET Core가 Native AOT로 콜드 스타트를 100ms 아래로 끌어내리고, Blazor United가 서버·WASM·SSR을 한 프로젝트에서 섞고, MAUI 9가 iOS·Android·macOS·Windows 네 OS를 단일 코드베이스로 묶고, Aspire 9가 분산 앱을 한 대시보드로 본다. 그 위에 EF Core 9의 JSON 컬럼, Orleans 9의 가상 액터, Marten의 Postgres 이벤트 스토어, Unity 6의 C# 13 지원이 얹힌다. 이 글은 런타임·언어·웹·UI·데이터·분산·테스트·도구·게임까지 — 2026년의 전체 .NET 스택을 한 번에 정리한다.