İngilizce dilinde oku

Aracılığıyla paylaş


.NET 9'daki yenilikler

.NET 9'daki yeni özellikler hakkında bilgi edinin ve diğer belgelerin bağlantılarını bulun.

.NET 8 ardılı olan .NET 9, bulutta yerel uygulamalar ve performansa özel bir odaklanmıştır. 18 ay boyunca standart vadeli destek (STS) sürümü olarak desteklenecektir. .NET 9'u buradanindirebilirsiniz.

.NET 9'da yeni olan, mühendislik ekibi GitHub Tartışmalarıüzerinde .NET 9 önizleme güncellemelerini yayınlar. Burası soru sormak ve sürüm hakkında geri bildirim sağlamak için harika bir yerdir.

.NET çalışma zamanı

.NET 9 çalışma zamanı, kırpma desteğine sahip özellik anahtarları için yeni bir öznitelik modeli içerir. Yeni öznitelikler, kitaplıkların işlev alanlarını değiştirmek için kullanabileceği özellik anahtarları tanımlamayı mümkün hale getirir.

Atık toplama, Sunucu GC yerine varsayılan olarak kullanılan uygulama boyutu özelliğine dinamik uyarlama içerir.

Çalışma zamanı döngü iyileştirmeleri, inlining ve Arm64 vektörleştirme ve kod oluşturma dahil olmak üzere çok sayıda performans iyileştirmesi de içerir.

Daha fazla bilgi için bkz. .NET 9 çalışma zamanındaki yenilikler .

.NET kitaplıkları

System.Text.Json nullable referans türü ek açıklamaları ve türlerden JSON şemalarını dışa aktarma desteği ekler. Yazılı JSON girintisini özelleştirmenize ve tek bir akıştan birden çok kök düzeyinde JSON değeri okumanıza olanak sağlayan yeni seçenekler ekler.

LINQ'te yeni yöntemler CountBy ve AggregateBy, GroupByaracılığıyla ara gruplandırmalar ayırmaya gerek kalmadan durumu anahtara göre toplamayı mümkün hale getirir.

Koleksiyon türleri için System.Collections.Generic.PriorityQueue<TElement,TPriority> türü, kuyruktaki bir öğenin önceliğini güncelleştirme için kullanabileceğiniz yeni bir Remove(TElement, TElement, TPriority, IEqualityComparer<TElement>) yöntemi içerir.

Şifreleme için .NET 9, CryptographicOperations türüne yeni bir tek seferlik karma yöntemi ekler. Ayrıca KMAC algoritmasını kullanan yeni sınıflar ekler.

Yansıma için, yeni PersistedAssemblyBuilder tipi, yayılan bir derlemeyi kaydetmenizi sağlar. Bu yeni sınıf pdb desteği de içerir, yani simge bilgilerini yayabilir ve oluşturulan derlemede hata ayıklamak için kullanabilirsiniz.

TimeSpan sınıfı, bir int (doubleyerine) TimeSpan nesnesi oluşturmanıza olanak sağlayan yeni From* yöntemleri içerir. Bu yöntemler kayan nokta hesaplamalarında doğal kararsızlıktan kaynaklanan hataları önlemeye yardımcı olur.

Daha fazla bilgi için bkz. .NET 9 kitaplıklarındaki yenilikler.

.NET SDK

.NET 9 SDK'sı, iş yükü kümelerini tanıtır. Burada tüm iş yükleriniz açıkça güncelleştirilene kadar tek, belirli bir sürümde kalır. Araçlar için yeni bir dotnet tool install seçeneği, kullanıcıların (araç yazarları yerine) aracın hedeflediği sürümden daha yeni bir .NET çalışma zamanı sürümünde çalışmasına izin verilip verilmeyeceğine karar vermesine olanak tanır. Ayrıca:

  • Birim testi, testleri paralel olarak çalıştırmanızı sağlayan daha iyi MSBuild tümleştirmesine sahiptir.
  • NuGet güvenlik denetimleri varsayılan olarak hem doğrudan hem de geçişli paket başvurularında çalışır.
  • Terminal günlükçü varsayılan olarak etkindir ve kullanılabilirliği de geliştirmiştir. Örneğin, toplam hata ve uyarı sayısı artık derleme tamamlandığında özetlenir.
  • Yeni MSBuild betik çözümleyicileri ("derleme denetimleri") kullanılabilir.
  • SDK, .NET SDK ile MSBuild arasındaki sürüm uyuşmazlıklarını algılayabilir ve ayarlayabilir.
  • dotnet workload history komutu, geçerli .NET SDK yüklemesi için iş yükü yüklemelerinin ve değişikliklerinin geçmişini gösterir.

Daha fazla bilgi için bkz. .NET 9 için SDK'daki yenilikler.

Yapay zeka yapı taşları

.NET 9, Microsoft.Extensions.AI ve Microsoft.Extensions.VectorData paketleri aracılığıyla birleştirilmiş bir C# soyutlama katmanı sunar. Bu soyutlamalar küçük ve büyük dil modelleri (SLM'ler ve LLM'ler), eklemeler, vektör depoları ve ara yazılım dahil olmak üzere yapay zeka hizmetleriyle etkileşimi kolaylaştırır.

.NET 9 ayrıca yapay zeka özelliklerini genişleten yeni tensor türleri de içerir. TensorPrimitives ve yeni Tensor<T> türü, çok boyutlu verilerin verimli bir şekilde kodlanması, işlemesi ve hesaplamasını etkinleştirerek yapay zeka özelliklerini genişletir. Bu türleri System.Numerics.Tensors paketininen son sürümünde bulabilirsiniz.

TensorPrimitives

  • Genişletilmiş yöntem kapsamı: 40'tan 200'e yakın aşırı yüklemeye yükseltildi, artık Math, MathFve INumber<T> gibi sayısal işlemler, ancak değer aralıklarına yönelik olarak da dahil edilmiştir.
  • Performans geliştirmeleri: Birçok işlem artık daha iyi performans için SIMD için iyileştirilmiştir.
  • Genel aşırı yüklemeler: Belirli bir arabirimi uygulayan her türü (T) destekler ve yalnızca .NET'teki float değerleri kapsamının ötesine genişletir.

Tensor<T>

  • Verimli matematik işlemleri için TensorPrimitives üzerine kuruludur.
  • Mümkün olduğunda sıfır kopya kullanarak yapay zeka kitaplıkları (ML.NET, TorchSharp, ONNX Runtime) ile verimli bir birlikte çalışma sağlar.
  • Dizin oluşturma ve dilimleme işlemleriyle kolay ve verimli veri işlemeyi sağlar.
  • .NET 9'da deneysel .

ML.NET

ML.NET, özel makine öğrenmesi modellerinin .NET uygulamalarıyla tümleştirilmesini sağlayan açık kaynaklı, platformlar arası bir çerçevedir.

ML.NET 4.0 aşağıdaki geliştirmeleri getirir:

  • MLContext seçeneklerini program aracılığıyla yapılandırmanın yeni yolları.
  • ONNX modellerini Streamolarak yükleyin.
  • DataFrame geliştirmeleri.
  • belirteciiçin yeni özellikler.
  • (Deneysel) Lama ve Phi model ailesinin TorchSharp bağlantı noktaları.
  • (Deneysel) CausalLM işlem hattı API'leri.

Daha fazla bilgi için bkz. ML.NET 'daki yenilikler.

Belirteç Oluşturucular

Microsoft.ML.Tokenizers kitaplığı, .NET geliştiricilerine metinleri belirteçlere kodlama ve kod çözme özellikleri sağlar. Yapay zeka senaryolarında bu, yerel modellerle çalışırken bağlamı yönetmek, maliyeti hesaplamak ve metni önişlem yapmak için önemlidir.

En son sürüm, belirteç oluşturucular için önemli yeni özellikler sunar:

  • GPT (3, 3.5, 4, 4o, o1) ve Llam3 modelleri için Tiktoken
  • Llama ve Mistral modelleri için SentencePiece tabanlı Llama
  • Codegen-350M-mono gibi kod oluşturma modelleri için CodeGen
  • Microsoft Phi2 modeli için Phi2 (CodeGen tabanlı)
  • WordPiece
  • WordPiece tabanlı Bert, Optimum--all-MiniLM-L6-v2 gibi Bert destekli modeller için kullanılır.

.NET Aspire

.NET Aspire, gözlemlenebilir, üretime hazır uygulamalar oluşturmaya yönelik güçlü araçlar, şablonlar ve paketler kümesidir. .NET Aspire'in en son sürümü, pano ve kaynak yaşam döngüsü yönetiminde iyileştirmeler içerir. Ayrıca geliştirme sırasında daha fazla esneklik için yeni tümleştirmeler ve API'ler ekler. .NET Aspire 9 hem .NET 9 hem de .NET 8 uygulamalarıyla çalışır. Daha fazla bilgi için bkz. .NET Aspire 9 'deki yenilikler.

ASP.NET Core

.NET 9 ile oluşturulan ASP.NET Core uygulamaları varsayılan olarak güvenlidir, anında derleme için genişletilmiş desteğe sahiptir ve izleme ve izleme süreçlerini geliştirmiştir. Performans geliştirmeleri sayesinde daha yüksek aktarım hızı ve daha hızlı başlangıç süresi ve daha az bellek kullanımıyla karşılaşırsınız. .NET 9'da ASP.NET Core şunları içerir:

  • Oluşturma ve yayınlama sürecinde, JavaScript ve CSS gibi statik dosyaların otomatik parmak izi sürümleme ile iyileştirilmiş işlenmesi.
  • Blazor: Yeni Karma ve Web uygulaması şablonları, bileşen işleme modunu algılama, sunucu işleme ile yeni yeniden bağlantı deneyimi.
  • API'ler: Microsoft.AspNetCore.OpenAPIkullanarak OpenAPI belge oluşturma için yerleşik destek, gelişmiş yerel AOT desteği.
  • Kimlik doğrulaması ve yetkilendirme için yeni API'lerle geliştirilmiş güvenlik.
  • Geliştirme sırasında HTTPS'yi etkinleştirmek için Linux'ta güvenilen geliştirme sertifikası için daha kolay kurulum.

Bunlar .NET 9'daki özelliklerden ve geliştirmelerden yalnızca bazılarıdır. Daha fazla bilgi için bkz. ASP.NET Core 9.0 'daki yenilikler.

.NET MAUI

.NET 9'da .NET Çok Platformlu Uygulama Kullanıcı Arabirimi'nin (.NET MAUI) odak noktası, gelişmiş performans ve güvenilirlik ile masaüstü ve mobil uygulamalar için daha derin tümleştirmelerdir. .NET MAUI, iOS ve Mac Catalyst için yeni, daha verimli bir CollectionView ve CarouselView uygulaması, mevcut denetimlerde yapılan güncellemeler, yeni uygulama yaşam döngüsü olayları ve uygulama boyutunu ve başlangıç süresini iyileştirmek için Native AOT ve kırpma iyileştirmelerini içerir. Ayrıca:

  • Windows için yeni bir TitleBar masaüstü denetimi kullanılabilir.
  • Yeni HybridWebView denetimi ReactJS, Vue.jsve Angular gibi çerçevelerden JavaScript özellikli içeriğin daha kolay eklenmesini sağlar.
  • Entry artık ek klavye modlarını destekliyor.
  • Mümkün olduğunda kontrol işleyicileri kontrollerinden otomatik olarak bağlantısını keser.
  • MainPage, Application.CreateWindow(IActivationState) sınıfı geçersiz kılınarak uygulamanın birincil sayfasını ayarlamak için kullanım dışı bırakılmıştır.

Bu yeni özellikler ve daha fazlası hakkında daha fazla bilgi için bkz. .NET 9 için .NET MAUI'deki yenilikler .

EF Core

Entity Framework Core, NoSQL için Azure Cosmos DB veritabanı sağlayıcısında önemli güncelleştirmeler içerir. Ayrıca, diğer geliştirmelerin yanı sıra AOT derleme ve önceden derlenmiş sorgular için bazı adımlar içerir. Daha fazla bilgi için bkz. EF Core 9'daki Yenilikler.

C# 13

C# 13, .NET 9 SDK ile birlikte sunulur ve aşağıdaki yeni özellikleri içerir:

  • params koleksiyonları
  • Yeni lock türü ve semantiği
  • Yeni kaçış dizisi - \e
  • Yöntem grubu doğal tür iyileştirmeleri
  • Nesne başlatıcılarda örtük dizin oluşturucu erişimi
  • Yineleyicilerde ve zaman uyumsuz yöntemlerde yerel ref ve unsafe bağlamlarını etkinleştirme
  • Arabirimleri uygulamak için ref struct türlerini etkinleştirme
  • Generiklerde tür parametreleri için argüman olarak başvuru yapı türlerine izin verin.
  • Kısmi özelliklere ve dizin oluşturuculara artık partial türlerde izin verilir.
  • Aşırı yükleme çözümleme önceliği, kitaplık yazarlarının bir aşırı yüklemeyi diğerlerinden daha iyi olarak belirlemesine olanak tanır.

Ayrıca, C# 13 bir önizleme özelliği ekler: field desteklenen özellikler.

Daha fazla bilgi için bkz. C# 13'teki yenilikler.

F# 9

F# 9, .NET 9 SDK ile birlikte sunulur ve aşağıdaki yeni özellikleri içerir:

  • Boş değer atanabilir başvuru türleri
  • Ayrımcı birleşim. Is* özellikleri
  • Kısmi etkin desenler birim seçeneği yerine bool döndürebilir
  • Bağımsız değişkenler sağlandığında içsel özellikler yerine uzantı yöntemlerini tercih et
  • Boş gövdeli hesaplama ifadeleri
  • Hash yönergelerinin, dize olmayan bağımsız değişkenleri almasına izin verilir.
  • Belgeleri read-eval-print döngüsünde (REPL) göstermek için fsi'de genişletilmiş #help yönergesi
  • #nowarn uyarılarını devre dışı bırakmak için hata kodlarında FS ön ekini desteklemesine izin ver
  • Özyinelemeli olmayan işlevlerde veya 'let' ile bağlı değerlerde TailCall özniteliği hakkında uyarı
  • Öznitelik hedeflerini zorunlu kılma
  • Koleksiyonlar için rastgele işlevler
  • F# listeleri ve kümeleri için C# koleksiyon ifadesi desteği
  • Çeşitli geliştirici üretkenliği, performans ve araç geliştirmeleri

Daha fazla bilgi için bkz. F# 9'daki yenilikler.

Windows Presentation Foundation

.NET 9'da WPF, çeşitli temalı geliştirmeler ve daha fazlası ile modern uygulamalar oluşturmak için gelişmiş destek sağlar:

  • Windows Fluent teması desteği.
  • Windows açık ve koyu modlar için tema desteği eklendi.
  • Temalar artık Windows vurgulu rengini destekliyor.
  • Yazı tipi işleme, kısa çizgi tabanlı ligatürleri destekleyecek şekilde geliştirilmiştir.
  • BinaryFormatter artık desteklenmiyor.

Daha fazla bilgi için bkz. .NET 9 için WPF'deki yenilikler.

Windows Forms

.NET 9'daki WinForms, yeni temalar, zaman uyumsuz geliştirme geliştirmeleri ve daha fazlası için destek sunar:

  • Form ve TaskDialog şimdi ShowDialogAsync'yi destekliyor. (Deneysel özellik)
  • BinaryFormatter artık desteklenmiyor.
  • Windows tarafından desteklendiği gibi uygulamayı koyu modda oluşturmaya yönelik deneysel destek.
  • FolderBrowserDialog ve ToolStrip bazı küçük iyileştirmeler yaptı.
  • System.Drawing kitaplığında GDI+ efektlerini sarmalama, ReadOnlySpandesteği ve daha iyi birlikte çalışma kodu oluşturma gibi birçok geliştirme vardır.

Daha fazla bilgi için bkz. .NET 9 için Windows Forms'daki yenilikler .

Ayrıca bkz.