[Day 1 / .NET Conf 2025] Welcome to .NET 10 & Visual Studio 2026! | 키노트


Microsoft가 .NET 10을 발표하며 개발 플랫폼의 새로운 시대를 열었습니다. 월 700만 개발자가 사용하는 .NET 생태계는 오픈소스 기여자 68,000명과 23,000개의 풀리퀘스트로 구성된 거대한 커뮤니티로 성장했습니다. 성능은 .NET Framework 4.8 대비 메모리 사용량 93% 감소, 초당 요청 수 15% 증가라는 획기적인 수치를 기록했으며, Bing과 Xbox Gaming Copilot 등 Microsoft 핵심 서비스들이 이미 .NET 10을 도입했습니다. Visual Studio 2026은 IDE를 플랫폼에서 분리하여 월간 업데이트를 가능하게 했고, 30% 빠른 시작 시간과 2배 빠른 솔루션 로드로 개발 경험을 혁신했습니다. Aspire 1.3는 Python, JavaScript를 포함한 폴리글랏 지원으로 진화했으며, 단일 파일 앱 호스트로 배포를 간소화했습니다. GitHub Copilot의 에이전트 기능은 앱 현대화, 테스트 생성, 프로파일링까지 전체 개발 주기를 지원하며, Model Context Protocol(MCP)를 통해 외부 시스템과의 연결을 표준화했습니다.


.NET 10 출시 및 생태계 현황

커뮤니티 성장과 오픈소스 기여

Microsoft는 .NET Conf 2024에서 .NET 10의 정식 출시를 발표했습니다. Scott Hanselman은 키노트를 통해 .NET이 개발자들이 사랑하고 기업들이 신뢰하는 완전한 개발 플랫폼으로 성장했음을 강조했습니다.

주요 채택 지표:

  • 월간 활성 개발자: Visual Studio 제품군을 사용하는 700만 개발자
  • 오픈소스 기여: .NET 저장소에 290,000개 이상의 풀리퀘스트 병합
  • .NET 10 기여: 23,000개의 풀리퀘스트가 .NET 10에 병합됨
  • 전체 기여자: 68,000명 이상이 코드 기여 및 이슈 제출
  • 프로젝트 활동: 2020년 이후 CNCF 속도 지표에서 최고 속도 오픈소스 프로젝트 중 하나
  • GitHub 순위: C#이 GitHub에서 상위 5개 프로그래밍 언어에 일관되게 랭크

주요 파트너 및 기업 도입 사례

Microsoft 내부 제품들이 .NET 10을 적극 도입하고 있습니다:

  • Bing: 데이터센터에서 .NET 10 릴리스 후보 실행 중, P90 지연 시간에서 눈에 띄는 개선 확인
  • Xbox Gaming Copilot: 전체 .NET 스택(Microsoft.Extensions.AI, Orleans, Aspire, MCP C# SDK) 사용
  • Copilot Studio: Blazor WebAssembly 앱으로 구축, MCP C# SDK 사용
  • Chipotle: 비즈니스 운영에 .NET 활용

주요 파트너 기여:

  • 레드햇, Canonical, IBM: 유지관리 및 보안 파트너
  • Syncfusion, Uno Platform: .NET MAUI 및 핵심 컴포넌트 구축 지원
  • AMD, Intel: 저수준 하드웨어 intrinsics 기여로 AI 워크로드 성능 개선
  • Samsung: RISC-V 및 ARM 명령어 세트 아키텍처 작업

.NET 10의 획기적인 성능 개선

벤치마크 결과 및 최적화 기법

.NET 10은 .NET 역사상 가장 빠른 버전입니다. TechEmpower Fortunes 벤치마크에서 측정한 결과:

  • .NET 8 대비 메모리 사용량 93% 감소
  • 초당 요청 수 15% 증가
  • .NET Framework 4.8에서 .NET 10으로 업그레이드 시 놀라운 성능 향상

10년간의 계층화된 투자 결과:

  • Tiered Compilation: 코드 실행 패턴에 따라 최적화 수준 조정
  • Dynamic PGO (Profile-Guided Optimization): 런타임 프로파일 데이터로 최적화
  • Guarded Devirtualization: 가상 메서드 호출 최적화
  • JIT 컴파일러 개선: 고수준 C# 코드를 손으로 조율한 네이티브 코드 수준의 효율성으로 실행
  • Adaptive Garbage Collection: 메모리 사용량 개선하면서 처리량과 확장성 향상

전체 스택 성능 향상:

  • 하드웨어 Intrinsics: 벡터화된 구현을 위한 세밀한 조정이 .NET 표준 라이브러리를 통해 전파
  • Span 기본형: 전체 스택에 적용되어 낮은 할당과 높은 처리량을 가진 안전한 코드 구현
  • 코드 변경 없는 성능 향상: 애플리케이션 코드를 건드리지 않아도 버전만 업그레이드하면 성능 개선

Stephen Toub의 성능 블로그 포스트는 브라우저를 멈출 정도로 방대한 성능 개선 내역을 상세히 기록하고 있습니다.

.NET 10의 주요 기능

핵심 기능:

  • 런타임 개선: 적응형 GC, Dynamic PGO 등
  • 파일 기반 앱: 단일 .cs 파일로 프로젝트 없이 앱 개발 가능
  • 네이티브 AOT 게시 지원: Ahead-of-Time 컴파일로 시작 시간 단축
  • 컨테이너 지원: .NET 앱의 컨테이너화 간소화
  • .NET MAUI 개선: 크로스 플랫폼 앱 개발 향상
  • Entity Framework Core: 데이터 액세스 성능 및 기능 개선
  • 보안 강화: 전체 스택에 걸친 보안 개선
  • ASP.NET Core: Passkey 지원 등 새로운 기능

장기 지원(LTS):

  • .NET 10은 LTS 릴리스로 3년간 무료 지원 및 패치 제공

C# 14의 새로운 기능

생산성 향상 언어 기능

C# 14는 더 빠르고 확장 가능하며 우아한 코드 작성을 위한 다양한 기능을 도입했습니다:

// 1. Null Conditional Assignment
// customer?.Name = "New Name"; 

// 2. Field-backed Properties
// 간결한 속성 선언
public class DataWithFieldProperty
{
    public string Name
    {
        get => field; 
        set => field = value ?? "Default";
    }
}

// 3. Extension Members
public static class ConsoleExtensions 
{
    // Console 타입에 대한 확장 멤버 정의
    extension(Console)
    {
        public static void UseColor(ConsoleColor color, Action action)
        {
            // 확장 메서드 구현
            var prev = Console.ForegroundColor;
            Console.ForegroundColor = color;
            action();
            Console.ForegroundColor = prev;
        }
        
        public static string Hello => "Hello from extension";
        public static string Message => "Extension message";
    }
}

public static class StringAniExtensions
{
    // string 타입의 인스턴스 멤버 정의
    extension(string source)
    {
        public string AniColorize()
        {
            // 인스턴스 확장 메서드로 문자열의 문자를 랜덤 색상화
            var result = new StringBuilder();
            foreach (var c in source) 
            {
                result.Append($"\x1b[3{Random.Shared.Next(1, 7)}m{c}\x1b[0m");
            }
            return result.ToString();
        }
    }
}

확장 멤버의 혁신:

  • 정적 확장 메서드: 기존 기능 유지
  • 인스턴스 확장 메서드: 문자열 인스턴스 등에 인스턴스 메서드 추가 가능
  • 확장 속성: 정적 속성을 기존 타입에 추가

실제 사용 사례

Tracebit 스타트업은 B2B SaaS 보안 제품을 C#으로 선택했으며, 생산성과 안정성을 주요 이유로 꼽았습니다.

Aspire 1.3 - 폴리글랏 지원으로 진화

크로스 언어 개발 환경

Aspire는 .NET Aspire에서 Aspire로 리브랜딩하며 다중 언어 지원을 강화했습니다. Maddie는 Aspire의 진화를 다음과 같이 설명했습니다:

Aspire의 핵심 개념:

  • C#으로 분산 앱 정의: 웹 앱, API, 데이터베이스, 큐, 프론트엔드를 강타입 코드로 모델링
  • IntelliSense 지원: 전체 IntelliSense로 개발 생산성 향상
  • 단일 F5 실행: 스크립트와 다중 시작 프로젝트, 연결 문자열 관리 없이 전체 앱을 로컬에서 실행 및 디버그
  • 클라우드 배포: 코드 변경 없이 클라우드 배포

Aspire 1.3의 새로운 기능:

  • 폴리글랏 지원: JavaScript 프론트엔드, Python 추론 스크립트 통합 가능
  • 네이티브 AOT CLI: 성능 최적화
  • Blazor 대시보드: 모든 로그, 엔드포인트, 트레이스, 환경 변수 시각화
  • 통합(Integrations): NuGet 패키지로 작성된 C# 통합으로 진단, 설정 등 활성화
  • 단일 파일 앱 호스트: .NET 10의 파일 기반 앱 기능 활용, 전체 Aspire 프로젝트를 하나의 파일로 관리
  • CI/CD 파이프라인 간소화: 로컬에서 클라우드로의 빌드 및 배포 자동화
  • 유연한 연결 문자열 관리: 크로스 언어 인증서 신뢰로 서비스 간 안전한 통신

Trapport의 피드백: “대부분의 필요한 기능이 즉시 사용 가능하며, 맞춤형 요구사항에 맞게 쉽게 확장 가능합니다.”

Aspire의 철학

Aspire는 빠른 시작을 위한 의견이 담긴 기본값과 필요에 따라 성장할 수 있는 유연성을 제공합니다. .NET으로 구축되었지만 모든 것에 열려 있습니다.

파일 기반 앱 - C# 개발의 혁신

간단한 시작, 강력한 확장성

Damian Edwards가 Visual Studio Code에서 파일 기반 앱을 시연했습니다:

// hello.cs - 프로젝트 파일 없이 실행 가능
Console.WriteLine("Hello World");

실행 방법:

dotnet run hello.cs
# 또는
dotnet hello.cs

언어 기능 점진적 추가:

// 암시적 args 변수 사용
var message = args.Length > 0 ? args[0] : "World";
Console.WriteLine($"Hello {message}");

실행:

dotnet hello.cs NetConf
# 출력: Hello NetConf

해시 콜론 지시문으로 확장

파일 상단에 지시문 추가로 NuGet 패키지, 빌드 속성, SDK 변경 가능:

#! nuget: Microsoft.Extensions.Logging
#! property: TargetFramework=net10.0
#! sdk: Aspire.AppHost

Aspire 앱 호스트 예제:

#! sdk: Aspire.AppHost
#! nuget: Aspire.Hosting.JavaScript
#! nuget: Aspire.Hosting.Python

var builder = DistributedApplication.CreateBuilder(args);

var js = builder.AddJavaScriptApp("frontend");
var py = builder.AddPythonApp("backend");

builder.Build().Run();

C#으로 Python과 JavaScript를 조율하는 강력한 기능입니다.

C# 14 파일 기반 앱 예제

// c#14.cs
using System;
using System.Text;

Console.UseColor(ConsoleColor.Green, () => 
{
    Console.WriteLine("C# 14".AniColorize());
});

public static class ConsoleExtensions
{
    extension(Console)
    {
        public static void UseColor(ConsoleColor color, Action action)
        {
            var prev = Console.ForegroundColor;
            Console.ForegroundColor = color;
            action();
            Console.ForegroundColor = prev;
        }
        
        public static string Hello => "Hello";
        public static string Message => "Message";
    }
}

public static class StringAniExtensions
{
    extension(string source)
    {
        public string AniColorize()
        {
            var result = new StringBuilder();
            foreach (var c in source)
            {
                result.Append($"\x1b[3{Random.Shared.Next(1, 7)}m{c}\x1b[0m");
            }
            return result.ToString();
        }
    }
}

실행:

dotnet c#14.cs

프로젝트로 쉬운 전환

파일 기반 앱에서 전통적인 프로젝트로 원활한 전환:

dotnet project convert c#14.cs

자동 생성:

  • c#14.csproj: 표준 프로젝트 파일
  • 모든 코드 마이그레이션: 문제없이 코드 이동
  • Visual Studio 2026 호환: 생성된 프로젝트를 VS 2026에서 바로 열기 가능

Damian은 내일(현지 시간 기준) 오전 세션에서 파일 기반 앱의 더 많은 기능을 소개할 예정입니다.

실제 앱 개선 - Aspire Bingo

.NET 10 및 Blazor 기능 통합

Safia는 Aspire Friday 스트림에서 사용하는 Bingo 앱을 .NET 10 기능으로 업그레이드했습니다:

앱 특성:

  • 폴리글랏: JavaScript 프론트엔드, Blazor 관리 포털
  • 실시간 통신: SignalR 사용
  • 다중 동시 사용자 지원
  • Aspire로 클라우드 배포

MAUI 통합

모바일 지원 추가:

  • Aspire의 MAUI 통합: iOS 시뮬레이터를 통한 로컬 테스트
  • Aspire 대시보드에서 iOS 시뮬레이터 실행: 실시간으로 앱 모니터링
  • 크로스 플랫폼: 스트림을 시청하면서 모바일 기기에서 게임 플레이 가능

OpenAPI 3.1 지원

OpenAPI 문서의 주요 개선:

  • OpenAPI 3.1: JSON Schema의 진정한 상위 집합으로 대대적인 개편
  • 검증 및 툴링 지원 개선: 전체 스택에서 상호 운용성 향상
  • .NET 10에서 즉시 사용 가능

자동 문서화:

/// <summary>
/// Creates a new bingo square
/// </summary>
/// <param name="square">The square data</param>
/// <returns>The created square</returns>
app.MapPost("/api/squares", (BingoSquare square) => 
{
    // 구현
});

XML 문서 주석이 OpenAPI 문서에 자동 통합됩니다. 속성과 주석을 중복 작성할 필요가 없습니다.

Blazor의 Passkey 인증

관리 포털의 생체 인증:

// Blazor 컴포넌트 및 ASP.NET Core Identity API 개선
// 손가락으로 로그인

Passkey 인증 지원으로 비밀번호 없는 안전한 로그인을 손가락 하나로 구현합니다.

지속적 상태(Persistent State)

Blazor의 새로운 기능:

[PersistentState]
public List<Client> ConnectedClients { get; set; }

이점:

  • 사전 렌더링 전반에 걸쳐 상태 유지
  • 클라이언트에서 상태가 활성화될 때 다시 가져오지 않음
  • 빠른 초기 로드

범용 모델 검증

Blazor와 Minimal API 전반의 일관된 검증:

클라이언트 측 (Blazor):

// 검증 실패 시 자동으로 UI에 오류 표시

서버 측 (Minimal API):

app.MapPost("/api/squares", (BingoSquare square) => 
{
    // 동일한 검증 로직 적용
});

ASP.NET Core의 새로운 범용 모델 검증 지원으로 중첩된 복잡한 타입을 어디서나 검증 가능합니다.

코드 리뷰 및 배포

Git 변경 사항 창에서 코드 리뷰:

  • Copilot 코드 리뷰 아이콘 클릭
  • 자동 생성된 리뷰 코멘트: 텍스트 문구, 접근성 색상 대비 등 확인
  • IDE 내에서 직접 수정 승인

Azure Container Apps 배포:

# Aspire Deploy 클릭

성능 특성:

  • .NET의 우수한 성능: 더 적은 컨테이너에서 더 많은 워크로드 실행
  • 비용 절감: 성능 저하 없이 비용 절감

GitHub Copilot 앱 현대화

업그레이드 프로세스 자동화

Scott Hanselman는 GitHub Copilot App Modernization의 중요성을 강조했습니다:

현대화의 필요성:

  • 보안 위험: 오래된 프레임워크의 보안 취약점
  • 성능 저하: 최신 런타임 효율성 부족
  • 확장 어려움: 클라우드 네이티브 기능, 자동 확장, 모니터링, 보안 ID 관리 부족
  • 최신 API 접근: 더 나은 런타임 효율성 및 툴링

GitHub Copilot 앱 현대화 기능:

  • Visual Studio 2026에 내장
  • 단계별 가이드: 모호성 처리 및 무거운 작업 자동화
  • "몇 주 걸릴 작업"을 "몇 시간"으로 단축
  • .NET 10 업그레이드 또는 클라우드 마이그레이션 지원

성공 사례:

  • FMG: 몇 시간 만에 여러 애플리케이션 업그레이드

GitHub Copilot 테스트 에이전트

자동 테스트 생성:

  • Visual Studio 2026 Insiders 채널에서 공개 프리뷰
  • 단위 테스트가 없는 레거시 앱을 위한 자동 테스트 작성
  • 고품질 테스트 생성: C# 코드 구조 및 프로젝트 설정 이해

Brady와 Kathy의 데모 요약:

1단계: .NET Framework 4.8에서 .NET 10으로 업그레이드

Contoso University 프로젝트 우클릭 
→ "Upgrade to a newer version of .NET" 선택
→ .NET 10 선택
→ 업그레이드 계획 생성 (약 10분)
→ 자동 업그레이드 실행 (약 30분)

업그레이드 내용:

  • NuGet 패키지 업데이트: .NET Framework 4.8의 모든 패키지를 .NET 10 버전으로
  • 보안 개선: 취약한 패키지 업데이트
  • SDK 스타일 프로젝트: 현대적인 프로젝트 형식으로 전환

2단계: GitHub Copilot 테스트 생성

// Copilot 창에서
@test Contoso University

프로세스:

  1. 프로젝트 분석
  2. 테스트 프로젝트 생성 (없는 경우)
  3. MS Test, XUnit, NUnit 지원
  4. 기준 커버리지 계산
  5. 핵심 서비스, 모델, 컨트롤러에 대한 테스트 생성
  6. 실패한 테스트 자동 수정
  7. 최종 커버리지 측정

결과 요약:

  • 추가된 단위 테스트 수: 수백 개
  • 변경된 프로젝트 및 파일
  • 이전/이후 커버리지: 명확한 순 증가
  • 품질 지표: 통과/실패 요약
  • 테스트 가능성 격차: 개선이 필요한 영역 식별
  • 새 파일 링크: 생성된 파일로 직접 이동

시간 절약:

  • 제로 커버리지에서 실제 커버리지까지 1-2시간
  • 수백 개의 테스트 자동 생성

3단계: Azure 마이그레이션

"Migrate to Azure" 클릭
→ 평가 보고서 실행
→ Windows AD를 Entra ID로 마이그레이션 (15-20분)
→ Azure SQL로 연결 문자열 변경
→ 우클릭 배포 또는 CI/CD 생성

CI/CD 옵션:

  • GitHub Actions: Visual Studio 2026에서 CI/CD 스크립트 생성
  • Azure DevOps: 새로운 기능으로 파이프라인 자동화
  • 리포지토리에 직접 커밋

4단계: Azure App Service Linux 배포

게시 버튼 클릭 (2-3분 소요)
→ Entra ID 테넌트에서 URL 추가
→ signin-oidc 접미사 설정
→ 인증 완료

전체 프로세스 시간:

  • .NET Framework 4.8 → .NET 10 업그레이드: 약 1시간
  • 테스트 생성: 1-2시간
  • Azure 마이그레이션 및 배포: 1-2시간
  • 총 소요 시간: 3-4시간

코드를 거의 건드리지 않고 완전한 현대화를 달성했습니다.

AI 통합 및 에이전트 프레임워크

에이전트의 개념과 중요성

Scott Hanselman는 에이전트의 본질을 설명했습니다:

비즈니스의 모호성 문제:

"가게에 가서 빵을 사오고, 계란이 있으면 12개 사오세요."
→ 프로그래머가 빵 12개를 사왔다

에이전트의 역할:

  • 배치 파일이나 PowerShell 스크립트와 다름: 장애물이 있어도 멈추지 않음
  • 적절한 상식 적용: 모호성 처리
  • 유연한 파트너: 도구, 액션, 메모리를 활용하여 작업 수행
  • 인간과 유사한 추론: 실제 비즈니스의 혼란과 모호성에 적응

에이전트는 단순히 스케줄대로 실행되는 것이 아니라 적응하고 진화하는 존재입니다.

Microsoft Agent Framework

Semantic Kernel과 AutoGen의 통합:

  • 2024년 통합: 두 프레임워크가 Microsoft Agent Framework로 합쳐짐
  • Microsoft.Extensions.AI 기반: 동일한 빌딩 블록 사용
  • 에이전트 개발 간소화: 안전하고 책임감 있는 대화형 AI 앱 구축
  • 공개 프리뷰: .NET 및 Python 패키지를 GitHub와 NuGet에서 주간 릴리스

최신 릴리스 기능:

  • AG UI 프로토콜 지원: 에이전트와 UI 간 표준 통신
  • 대화형 개발자 UI: 에이전트 및 워크플로우 시각화, 디버그, 테스트

Model Context Protocol (MCP)

MCP는 AI의 USB입니다:

  • 표준 메커니즘: AI 모델이 도구와 리소스를 사용하여 지식과 능력 확장
  • LLM 초기 훈련 이상의 확장: 비즈니스별 컨텍스트와 도구 연결
  • 개발 도구 통합: Visual Studio, Visual Studio Code에 MCP 지원 내장
  • MCP 서버: Azure, Playwright, GitHub 등

공식 C# SDK:

  • 2024년 3월부터 Anthropic과 협력
  • 공식 C# SDK 생성 및 유지관리
  • Microsoft 제품 사용: Windows, Visual Studio, Copilot Studio

MCP 활용 예시:

문제: GitHub Copilot이 GitHub 이슈에 접근 불가

해결: Ally의 MCP 서버 설치 데모

  1. Visual Studio에서 MCP 레지스트리 탐색:
Extensions → MCP Registries
  1. 사전 구축된 MCP 서버 목록:
  • Azure DevOps
  • Chrome DevTools
  • Figma
  • GitHub
  • 기타 다양한 서버
  1. GitHub MCP 서버 설치 및 인증:
Tools → GitHub 서버 선택
Authentication → GitHub 자격 증명 제공
  1. Copilot Chat에서 사용:
"이 리포지토리의 오픈 이슈를 요약해줘"
→ GitHub에서 실시간 데이터 가져오기
→ 이슈 제목과 요약 제공
→ 기존 이슈 링크

MCP의 장점:

  • 연결 해제된 모델에서 연결된 컨텍스트 인식 어시스턴트로 전환
  • CI/CD 파이프라인, 고객 피드백, 분석 등 모든 시스템 연결 가능
  • 사용자 정의 MCP 서버 구축 가능

프로젝트 템플릿으로 쉬운 MCP 서버 생성:

# NuGet 패키지 설치
dotnet new install Microsoft.MCP.Templates

# MCP 서버 생성
dotnet new mcp-server -n MyCustomServer

# NuGet 패키지로 공유

모든 개발자가 자신의 데이터가 있는 곳 어디든 연결할 수 있습니다.

.NET 에이전트 구축 실습

Maria의 Agent Framework 데모

Maria는 .NET 개발자를 위한 에이전트 구축을 실시간으로 시연했습니다:

1단계: 기본 에이전트 생성

// NuGet 패키지 설치
using Microsoft.Agent.Framework;

// Writer 에이전트 생성
var writer = new AgentBuilder()
    .WithModel(GitHubModel.GPT4)
    .WithInstruction("당신은 창의적인 작가입니다.")
    .Build();

// 이야기 생성
var response = await writer.InvokeAsync("짧은 이야기를 써주세요");
Console.WriteLine(response);

2단계: 스트리밍 응답

// 응답을 실시간으로 스트리밍
await foreach (var chunk in writer.InvokeStreamingAsync("이야기를 써주세요"))
{
    Console.Write(chunk);
}

유동적인 채팅 경험으로 콘솔이 살아 있는 것처럼 느껴집니다.

3단계: 에이전트 협업

// Writer 에이전트
var writer = new AgentBuilder()
    .WithInstruction("창의적인 이야기를 작성합니다")
    .Build();

// Editor 에이전트
var editor = new AgentBuilder()
    .WithInstruction("이야기를 공식적이고 읽기 쉽게 개선합니다")
    .Build();

// 순차 워크플로우
var workflow = new SequentialWorkflow()
    .AddAgent(writer)
    .AddAgent(editor);

var result = await workflow.RunAsync("모험 이야기를 써주세요");

Agent Framework는 여러 에이전트를 순차적으로 조율하여 복잡한 작업을 완료합니다.

4단계: 도구 추가

// Formatter 도구
public class FormatterTool
{
    [AgentTool("format_story")]
    public string FormatStory(string content)
    {
        return $"# {GenerateTitle(content)}\n\n{content}";
    }
    
    private string GenerateTitle(string content)
    {
        // 제목 생성 로직
    }
}

// Editor에 도구 추가
var editor = new AgentBuilder()
    .WithInstruction("이야기를 개선하고 형식을 지정합니다")
    .WithTool<FormatterTool>()
    .Build();

도구는 에이전트를 더 강력하게 만듭니다.

ASP.NET Core 에이전트 API 템플릿

즉시 사용 가능한 웹 API:

dotnet new agent-api -n BookPublisher

생성된 구조:

// Program.cs
var builder = WebApplication.CreateBuilder(args);

// Writer 에이전트
builder.Services.AddAgent("writer", agent => 
{
    agent.WithInstruction("창의적인 작가");
});

// Editor 에이전트
builder.Services.AddAgent("editor", agent => 
{
    agent.WithInstruction("편집자");
});

// 워크플로우
builder.Services.AddWorkflow("publish", workflow =>
{
    workflow.Sequential()
        .AddAgent("writer")
        .AddAgent("editor");
});

var app = builder.Build();

// OpenAI 응답 API
app.MapPost("/chat", async (ChatRequest request, IAgent agent) =>
{
    return await agent.InvokeAsync(request.Message);
});

// 대화형 API (AG UI)
app.MapConversation("/conversation");

app.Run();

Map Dev UI - 개발자 UI:

  • 시각적으로 테스트 및 디버그
  • 응답, 이벤트, 트레이스, 도구 확인
  • 에이전트 플로우 시각화
  • 입력을 코드로 돌아가지 않고 업데이트
  • 학습 및 개발에 탁월한 경험

구성만으로 즉시 사용 가능:

builder.Services.AddMapDevUI();

AG UI 프로토콜

AG UI는 가벼운 프로토콜로 클라이언트와 백엔드 간 채팅 응답을 스트리밍합니다.

Maria의 실시간 데모:

// Web API
app.MapConversation("/conversation");

// Blazor 앱
@using Microsoft.Agent.UI
<AgentChat Endpoint="/conversation" />

패키지 추가:

<!-- Web API -->
<PackageReference Include="Microsoft.Agent.UI.Server" />

<!-- Blazor -->
<PackageReference Include="Microsoft.Agent.UI.Blazor" />

3줄의 코드로 전체 채팅 UI 구현:

  1. 서버에서 AG UI 엔드포인트 매핑
  2. Blazor 컴포넌트에서 패키지 참조
  3. 컴포넌트 사용

AG UI는 MCP 위에 구축된 새로운 표준입니다.

Aspire에서 AI 애플리케이션 추적

Aspire의 AI 스파클 아이콘:

  • Aspire 어디서든 스파클 아이콘: AI 애플리케이션 표시
  • 응답 추적: 에이전트 간 통신 모니터링
  • Map Dev UI 또는 Aspire: 선택에 따라 사용

개발자 도구의 진화:

  • REST API: F12 도구로 디버깅
  • 채팅봇 및 에이전트: Map Dev UI와 Aspire로 디버깅
  • 추적 가능한 대화: 에이전트 간 통신 가시화

Visual Studio 2026 혁신

3대 핵심 목표

Mads와 Rachel은 Visual Studio 2026의 설계 철학을 공유했습니다:

1. 성능

  • 증분 업데이트를 넘어선 대규모 아키텍처 변경
  • 멀티 코어 병렬화: CPU 코어 수에 따라 성능 향상
  • 30% 빠른 시작 시간
  • 거의 2배 빠른 솔루션 로드
  • UI 프리즈 50% 감소: 작업을 백그라운드 스레드로 이동 및 병렬화
  • 응답성 향상: 가볍고 빠른 느낌

성능 비교:

Visual Studio 2026 vs VS Code 시작 시간
→ 거의 동일 (<2초)

Visual Studio가 VS Code만큼 빠르게 시작됩니다.

2. 삶의 질(Quality of Life)

  • 5,000개 이상의 사용자 보고 버그 및 이슈 수정 (12개월간)
  • 일일 평균 23개 이슈 수정 (근무일 기준)
  • 300개 이상의 기능 요청 구현
  • Visual Studio 역사상 최고 기록
  • 사용자 피드백 기반 릴리스

3. AI 통합

  • 자연스러운 AI 도움: 기존 워크플로우에 맞게 통합
  • 근육 기억에 맞는 위치: 필요할 때 적절한 곳에 표시
  • 생산성 향상: 개발자의 기술 수준을 끌어올림

설치 및 마이그레이션 혁신

Visual Studio 역사상 처음:

1. 자동 설정 마이그레이션

Visual Studio 2026 설치 시
→ Visual Studio 2022 설정 자동 포트
→ 워크로드 및 컴포넌트 마이그레이션
→ 클릭 몇 번으로 즉시 실행 가능

2. 확장(Extension) 하위 호환성

4,000개 이상의 Visual Studio 2022 확장
→ Visual Studio 2026에서 그대로 작동
→ 자동 마이그레이션 옵션
→ 마켓플레이스 확장 즉시 사용 가능

완전히 익숙한 환경에서 바로 시작할 수 있습니다.

현대적인 UI 및 테마

새로운 UI:

  • 선명한 엣지
  • 아름다운 색상
  • 새로운 아이콘
  • 현대화된 전체적인 느낌

11개의 새로운 색상 테마:

  • 핑크 테마: Rachel의 스웨터와 매칭
  • 쿨 슬레이트: Mads가 선호하는 어두운 테마
  • 마켓플레이스에서 더 많은 테마 다운로드 가능
  • 사용자 정의 테마 생성: 이전보다 쉬워짐

매일 보는 도구이므로 외관과 편안함이 중요합니다.

IDE와 플랫폼 분리

혁신적인 변화:

기존: IDE ↔ 플랫폼 결합
→ 업그레이드 시 빌드 도구도 함께 업데이트

새로운 모델: IDE ⊥ 플랫폼 분리
→ Visual Studio 독립 업데이트
→ 빌드 도구 독립 선택
→ 자신의 속도로 업그레이드

이점:

  • Visual Studio 최신 버전 유지: 안심하고 업데이트
  • 필요한 빌드 도구 유지: 프로젝트 안정성 보장
  • 적절한 시기에 플랫폼 업그레이드: 유연성 제공

릴리스 채널

안정(Stable) 및 인사이더(Insiders) 채널:

Insiders 채널
→ 새로운 기능 먼저 출시
→ 빠른 업데이트 주기
→ 피드백 수집

Stable 채널
→ 검증된 기능
→ 안정적인 환경
→ 프로덕션 준비

병렬 설치:

  • Visual Studio 2022
  • Visual Studio 2026 (Stable)
  • Visual Studio 2026 (Insiders)

세 가지 버전을 동시에 사용하여 기능 탐색 및 테스트 가능합니다.

월간 업데이트

새로운 릴리스 주기:

기존: 분기별 업데이트 (연 3-4회)
새로운: 월간 업데이트 (연 12회)

예정된 업데이트:

  • 2024년 11월: GA 릴리스
  • 2024년 12월: WinForms 전문가 에이전트, Copilot 코딩 에이전트
  • 2025년 2월: Hot Reload 성능 대폭 개선 (Co-hosting)

세상이 너무 빠르게 변하므로 Visual Studio도 빠르게 따라갑니다.

WinForms 전문가 에이전트

Insiders 채널에서 오늘 출시:

WinForms의 과제:

  • 오래된 기술이지만 여전히 활발히 사용
  • 새로운 앱 개발에도 사용
  • 복잡성: 디자이너 파일, MVVM, async/await 패턴 등

WinForms 전문가 역할:

  • WinForms 팀이 직접 작성: 절대적인 전문가
  • 에이전트 모드에서 작동: WinForms 베스트 프랙티스 지원
  • 팀 멤버처럼: WinForms 팀원이 옆에 앉아 페어 프로그래밍하는 것과 같음

12월 안정 채널에서 출시 예정입니다.

GitHub Copilot 통합 깊이

전체 개발 주기 지원

Rachel과 Ally의 Copilot 데모 요약:

1. 계획 단계

Copilot Chat (에이전트 모드)
→ "시간대 도우미 앱을 만들고 싶어요"
→ 계획 생성 및 실행
→ 단계별 진행 상황 업데이트
→ 빌드 검증
→ 완전한 UI와 로직 준비

Planning은 공개 프리뷰이며 Visual Studio 2026 또는 Dev Box에서 사용 가능합니다.

2. 코드 작성

  • 인라인 코드 제안: 편집기에서 실시간
  • 에이전트 모드: 대규모 코드 변경에 항상 대기

3. 테스트

테스트 에이전트:

  • 포괄적인 단위 테스트 생성
  • 효율적인 테스트 커버리지
  • 앞서 Kathy 데모 참조

4. 디버깅

예외 분석:

// 중단점 설정
var timezones = GetTimezones();
timezones.Remove(selectedZone);

// Copilot에게 질문
"삭제된 시간대가 목록에서 제거되었는지 확인해줘"
→ Copilot이 목록 검사
→ 수백/수천 항목에서 신속한 검사

변수 검사 개선:

  • 대규모 컬렉션 검사 간소화
  • 시간 절약

5. 성능 최적화

Copilot Chat
→ "최적화 제안을 해줘"
→ CPU 프로파일러 실행 권장
→ 성능 추적을 위해 앱 클릭
→ 명확하고 실행 가능한 인사이트 제공
→ 정확히 무엇을 수정해야 하는지 파악

성능 전문가가 아니어도 최적화 가능:

  • 전문 지식 격차 해소
  • 팀과 더 나은 협업

6. 코드 리뷰

Git 변경 사항 창에서:

코드 리뷰 아이콘 클릭
→ 자동 생성된 리뷰 코멘트
→ 텍스트 문구, 접근성 색상 대비 확인
→ IDE에서 직접 제안 수락
→ 푸시 전 코드 조정

자체 검토로 신뢰도 향상 및 팀 시간 절약

7. 배포

Azure MCP 서버 도구 사용:

Copilot Chat
→ Azure 도구로 앱 배포
→ Azure Container Apps 인스턴스로 이동
→ 모든 사람이 액세스 가능

8. 현대화

에이전트 현대화 기능:

  • .NET 10으로 업그레이드
  • Brady의 앞선 데모 참조

Copilot으로 모든 것을 할 수 있으며, Visual Studio 2026에서 그 어느 때보다 빠르고 쉽습니다.

Copilot 시작하기

Visual Studio 2026 다운로드 후:

  1. Copilot 계정에 로그인
  2. 신규 사용자: 오늘 무료로 시작

100만 명 이상의 개발자가 이미 Visual Studio에서 GitHub Copilot을 사용하여 생산성을 극대화하고 있습니다.

파트너십 및 실제 사용 사례

Shoreless AI와 Texas A&M 대학교

비디오 요약:

Shoreless AI:

  • .NET으로 구축: 모든 것이 .NET 기반
  • 에이전트 조직 모델링: 가상 조직 생성
  • AI 팔로워에서 AI 리더로 전환: 고객 지원
  • 빠른 배포: 몇 달이 아닌 며칠 만에 구현
  • Visual Studio와 Copilot 통합: 빠른 개발 및 배포

Texas A&M University Mays Business School:

  • 비전: 비즈니스를 통해 더 나은 미래 구축
  • 전국 최초 경쟁: 37개 대학, 100개 이상의 신청
  • AI 비즈니스 아이디어 발표: 학부생 창업자
  • Shoreless AI 사용: 100개 이상의 제출물 평가
  • 기업급 AI 도구: 평가 시간 단축 및 무결성 유지
  • .NET 및 Azure 플랫폼: 선택의 명확한 이유
  • 독립적인 심사: 편견 제거 및 독특한 인사이트 제공

미래를 위한 파트너십:

  • Texas A&M, Shoreless, Microsoft: 시작에 불과
  • AI가 미래를 정의하고 형성: 학생들이 주도

실용적인 팁과 주의사항

.NET 10 업그레이드

팁:

  • 백업 필수: 업그레이드 전 코드 백업
  • 테스트 환경에서 먼저 시도: 프로덕션 전 검증
  • GitHub Copilot 앱 현대화 사용: 자동화로 시간 절약
  • LTS 버전 활용: 3년간 지원 보장

주의사항:

  • 종속성 확인: NuGet 패키지 호환성 점검
  • API 변경 검토: Deprecated API 사용 여부 확인
  • 성능 테스트: 업그레이드 후 벤치마크 수행

Visual Studio 2026 설치

팁:

  • 병렬 설치: VS 2022와 2026 동시 사용 가능
  • 확장 마이그레이션: 자동 마이그레이션 옵션 활용
  • Insiders 채널: 최신 기능 미리 체험
  • Dev Box 활용: 클라우드 개발 환경 활용

주의사항:

  • 디스크 공간 확보: 여러 버전 설치 시 공간 필요
  • 프로젝트 호환성: 팀원과 버전 조율
  • 플랫폼 독립성: 빌드 도구 버전 별도 관리

Aspire 활용

팁:

  • 단일 파일 앱 호스트: 간단한 프로젝트로 시작
  • 기존 통합 활용: NuGet 패키지로 쉽게 통합
  • Blazor 대시보드: 시각적 모니터링 활용
  • CI/CD 통합: Azure 배포 자동화

주의사항:

  • 폴리글랏 복잡성: 다중 언어 프로젝트는 인증서 신뢰 설정 필요
  • 리소스 관리: 로컬 개발 시 리소스 소비 모니터링
  • 버전 호환성: .NET 10과 Aspire 1.3 버전 매칭

AI 에이전트 개발

팁:

  • Agent Framework 템플릿 사용: dotnet new agent-api 시작
  • Map Dev UI 활용: 시각적 디버깅으로 학습
  • 순차 워크플로우: 간단한 에이전트 조합부터 시작
  • MCP 서버 탐색: 기존 서버로 빠른 통합

주의사항:

  • 비용 모니터링: LLM API 호출 비용 관리
  • 에러 처리: 에이전트 실패 시나리오 대비
  • 보안: 민감한 데이터 접근 제어
  • 테스트: 에이전트 응답의 일관성 검증
3개의 좋아요