Blog 5 dk okuma

.NET 11 Çıktı: C# 15 Birleşim Türleri, Zstandard, MCP Şablonu ve İki Yıllık STS Desteği

Alesta WEB

.NET 11 Çıktı: C# 15 Birleşim Türleri, Zstandard, MCP Şablonu ve İki Yıllık STS Desteği

Kısa cevap: Microsoft, .NET 11'i 10 Kasım 2026'da .NET Conf 2026'nın açılışında yayımladı. .NET 11 bir STS (standart süreli destek) sürümüdür ve iki yıl yama alır. Varsayılan dil C# 15'tir; birleşim türleri (union), kapalı sınıf hiyerarşileri, koleksiyon ifadesi argümanları ve etiketli break/continue gelir. Kütüphanelerde Zstandard sıkıştırma, LINQ FullJoin ve tek satırda süreç çalıştırma eklendi; dotnet new mcpserver ile MCP sunucusu şablonu da geldi. Aynı gün .NET 8 ve .NET 9'un desteği sona erdi.

Dizüstü bilgisayarlarında çalışan iki yazılımcı (Two developers working on laptops)
STS sürümü iki yıl destek alır; yeni özelliklere ihtiyaç duyan ekipler için uygundur. Fotoğraf: Francesco Tosoni / Wikimedia Commons (CC BY-SA 4.0)

Destek süresi: STS mi LTS mi? (Support policy)

.NET'te çift numaralı sürümler üç yıl destek alan LTS, tek numaralılar iki yıl destek alan STS sürümleridir. .NET 11 bu yüzden iki yıl yama alacak. Microsoft, STS ve LTS sürümlerinin kalite ve yama politikasının aynı olduğunu, farkın yalnız süre olduğunu belirtiyor. Uzun süre dokunulmayacak kurumsal uygulamalar için .NET 10 LTS hâlâ güvenli seçim; yeni özelliklere ihtiyaç duyan ve yılda bir yükseltme yapabilen ekipler için .NET 11 uygun.

.NET 8 ve .NET 9 10 Kasım'da desteğin dışına çıktı. Bu sürümlerde kalan uygulamalar için ayrıntılı rehber: .NET 8 ve .NET 9 destek sonu.

C# 15 yenilikleri (What's new in C# 15)

C# 15, .NET 11'i hedefleyen projelerde varsayılan dil sürümüdür. Sürüm adayı dönemini .NET 11 RC2 yazımızda anlatmıştık; son sürümde gelenler:

  • Birleşim türleri (union types): bir değer, tanımlanan türlerden yalnız biri olabilir. switch ifadelerinde bütün durumların ele alınıp alınmadığı derleyici tarafından denetlenir.
  • Kapalı hiyerarşiler (closed): closed işaretli bir sınıftan yalnız aynı derlemedeki (assembly) sınıflar türeyebilir.
  • Koleksiyon ifadesi argümanları: koleksiyon oluşturulurken karşılaştırıcı gibi argümanlar verilebilir.
  • Uzantı dizinleyicileri ve etiketli break/continue.
C#
public union ProductLookup(Product, ProductNotFound);

string Describe(ProductLookup sonuc) => sonuc switch
{
    Product p          => $"Bulundu: {p.Name}",
    ProductNotFound nf => "Ürün yok",
};   // eksik durum varsa derleyici uyarır

var adlar = [with(StringComparer.OrdinalIgnoreCase), "Ankara", "ankara"];

Bellek güvenliği (memory safety) çalışması hâlâ önizleme aşamasında. F# tarafında F# 11, derleyici bellek kullanımını ve FSharp.Core ayırmalarını azaltıyor.

Kütüphane yenilikleri (Libraries)

  • Zstandard: System.IO.Compression artık Zstandard sıkıştırmayı destekliyor; ZIP girdileri okunurken CRC32 doğrulaması yapılıyor.
  • Process API: bir süreci tek çağrıda çalıştırıp çıktısını ve çıkış kodunu almak için yeni yöntemler.
  • LINQ FullJoin: iki koleksiyonun tam dış birleşimi.
  • Yeni akış sınıfları: ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream, StringStream.
  • System.Text.Json: C# birleşim türleri ve F# ayrık birleşimleri için destek, asenkron dizilerden JSON Lines çıktısı.
  • Çalışma zamanı: JIT'te sınır denetimi, sanal çağrı çözümleme ve sabit katlama iyileştirmeleri; destekleyen x64 ve Arm64 işlemcilerde Half için FP16 komutları. Runtime Async önizleme olarak açılabiliyor.

Not: .NET 11 ile en düşük işlemci gereksinimleri güncellendi. Çok eski sunucularda çalıştırmadan önce Microsoft'un gereksinim listesini kontrol edin.

SDK, derleme ve araçlar (SDK and tooling)

  • CLI ana programı varsayılan olarak Native AOT ile derleniyor; komutlar daha hızlı açılıyor.
  • MSBuild sunucusu çağrılar arasında açık kalıyor, art arda derlemeler hızlanıyor.
  • Linux ve macOS kurulum paketleri küçüldü.
  • Konteyner yayımlamada SOURCE_DATE_EPOCH ile tekrarlanabilir imaj özeti (digest) üretilebiliyor.
  • NuGet'te "en az yayın yaşı" ayarı geldi: yeni yayımlanan bir paket belli bir süre geçmeden kullanılmıyor. Bu, tedarik zinciri saldırılarına karşı basit ama etkili bir önlem.
  • dotnet test çalıştırma zaman aşımı ve hata sınırı ekledi; dotnetup sürüm yöneticisi genel önizlemede.

ASP.NET Core, Blazor ve EF Core 11 (Web and data)

ASP.NET Core'da OpenAPI 3.2 varsayılan oldu, Minimal API ve Blazor formlarına asenkron doğrulama geldi, SignalR bağlantıyı koparmadan kimlik yenileyebiliyor. Blazor'da CacheView bileşeni statik sunucu tarafı oluşturmada bir bileşen ağacının çıktısını önbelleğe alıyor. Entity Framework Core 11 yalnız .NET 11 üzerinde çalışıyor; gereksiz JOIN'leri daha çok durumda kaldırıyor, GroupBy çevirisini iyileştiriyor ve SQL Server'da deneysel vektör dizinleri sunuyor. .NET MAUI'de CoreCLR tüm platformlarda varsayılan çalışma zamanı oldu.

Yapay zekâ ve MCP (AI and MCP)

dotnet new mcpserver şablonu, resmî MCP C# SDK'sıyla bir Model Context Protocol sunucusu oluşturuyor. Microsoft.Extensions.AI sağlayıcıdan bağımsız IChatClient ve IEmbeddingGenerator arayüzlerini, Microsoft Agent Framework ise ajan ve iş akışı yapılarını sunuyor.

Geçiş adımları (Migration)

  1. .NET 11 SDK'sını kurun ve dotnet --list-sdks ile doğrulayın.
  2. Proje dosyasında <TargetFramework>net11.0</TargetFramework> yapın.
  3. NuGet paketlerini güncelleyin; EF Core kullanıyorsanız 11.x sürümüne geçin.
  4. Microsoft'un .NET 11 kırıcı değişiklik listesini okuyun ve testleri çalıştırın.
  5. Konteyner kullanıyorsanız temel imajı 11.0 etiketine çevirin.
Bash
dotnet --list-sdks
dotnet new console -n Merhaba11 -f net11.0
dotnet run --project Merhaba11

Alesta WEB olarak .NET tabanlı projelerde yükseltme planı hazırlarken önce LTS mi STS mi kararını veriyoruz; kurumsal ve az güncellenen uygulamalarda .NET 10 LTS, aktif geliştirilen uygulamalarda .NET 11 öneriyoruz. Ayrıntı için web yazılım hizmetleri sayfamıza bakabilirsiniz.

Sık sorulan sorular

.NET 11 ne zamana kadar desteklenecek?

STS sürümü olduğu için yayın tarihinden itibaren iki yıl, yani yaklaşık Kasım 2028'e kadar.

.NET 10'dan .NET 11'e geçmek zorunda mıyım?

Hayır. .NET 10 LTS desteği .NET 11'den daha uzun sürer. Yeni dil özelliklerine ihtiyacınız yoksa .NET 10'da kalabilirsiniz.

Hangi Visual Studio sürümü gerekiyor?

Microsoft güncel bir Visual Studio 2026 kurulumu öneriyor. Komut satırında yalnız .NET 11 SDK'sı yeterli.

C# 15'i .NET 10 projesinde kullanabilir miyim?

C# 15, .NET 11'i hedefleyen projelerin varsayılan dilidir. Birleşim türleri gibi özellikler çalışma zamanı ve kütüphane desteğine dayandığı için .NET 11 hedeflenmesi önerilir.

İlgili sayfalar: Web yazılım hizmetleri · Mobil uygulama geliştirme · .NET 11 RC2 ve C# 15 · İletişim

Kapak fotoğrafı: Crew / Wikimedia Commons (CC0)

Yorumlar

Yorum yazın

Hazır mısınız?

Projenizi birlikte planlayalım

Haber sitesi, adisyon, QR menü ya da kurumsal web sitesi — ihtiyacınızı dinleyelim, demo hesabı açalım ve yazılı teklifimizi iletelim. Görüşme ücretsizdir.

WhatsAppAra