Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET 5, .NET Core'un 3.1'i izleyen sonraki önemli sürümüdür. Bu sürüm iki nedenden dolayı .NET Core 4 yerine .NET 5 olarak adlandırıldı:
- .NET Framework 4.x ile karışıklığı önlemek için sürüm numaraları 4.x atlandı.
- Bundan sonra .NET'in ana uygulamasının bu olduğunu vurgulayan "Çekirdek", adından bırakıldı. .NET 5, .NET Core veya .NET Framework'ten daha fazla uygulama türünü ve daha fazla platformu destekler.
ASP.NET Core 5.0, .NET 5'i temel alır ancak ASP.NET MVC 5 ile karıştırılmasını önlemek için "Core" adını korur. Benzer şekilde, Entity Framework Core 5.0, Entity Framework 5 ve 6 ile karıştırılmasını önlemek için "Core" adını korur.
.NET 5, .NET Core 3.1 ile karşılaştırıldığında aşağıdaki iyileştirmeleri ve yeni özellikleri içerir:
- C# güncelleştirmeleri
- F# güncelleştirmeleri
- Visual Basic güncelleştirmeleri
- System.Text.Json yeni özellikleri
- Tek dosyalı uygulamalar
- Uygulama kırpma
- Windows Arm64 ve Arm64 iç bilgileri
- Döküm hata ayıklama sürecine yönelik araç desteği
- Çalışma zamanı kitaplıkları 80% null atanabilir başvuru türleri için açıklama eklenmiştir
- Performans iyileştirmeleri:
.NET 5, .NET Framework'ün yerini almaz
.NET 5 ve sonraki sürümleri, .NET'in ileriye dönük ana uygulamasıdır, ancak .NET Framework 4.x hala desteklenmektedir. .NET Framework'ten .NET 5'e aşağıdaki teknolojileri taşıma planı yoktur, ancak .NET'te alternatifler vardır:
Teknoloji | Önerilen alternatif |
---|---|
Web Formları | ASP.NET Core Blazor veya Razor Pages |
Windows İş Akışı (WF) | elsa-workflows |
Windows Communication Foundation
Windows Communication Foundation (WCF) özgün uygulaması yalnızca Windows'ta destekleniyordu. Ancak, .NET Foundation'dan bir istemci bağlantı noktası bulunmaktadır. Tamamen açık kaynak, platformlar arasıdır ve Microsoft tarafından desteklenir. Çekirdek NuGet paketleri aşağıda listelenmiştir:
- System.ServiceModel.Duplex
- System.ServiceModel.Federation
- System.ServiceModel.Http
- System.ServiceModel.NetTcp
- System.ServiceModel.Primitives
- System.ServiceModel.Security
Yukarıda belirtilen istemci kitaplıklarını tamamlayan sunucu bileşenleri, CoreWCFaracılığıyla kullanılabilir. Nisan 2022 itibarıyla CoreWCF, Microsoft tarafından resmi olarak desteklenmektedir. Ancak WCF'ye alternatif olarak gRPC göz önünde bulundurun.
.NET 5, .NET Standard'ın yerini almaz
Yeni uygulama geliştirme süreci, sınıf kitaplıkları da dahil olmak üzere tüm proje türleri için net5.0
Hedef Çerçeve Takma Adını (TFM) belirtebilir. .NET 5 iş yükleri arasında kod paylaşımı basitleştirilir: tek ihtiyacınız olan net5.0
TFM'dir.
.NET 5 uygulamaları ve kitaplıkları için net5.0
TFM, netcoreapp
ve netstandard
TFM'leri birleştirir ve değiştirir. Ancak.NET Framework, .NET Core ve .NET 5 iş yükleri arasında kod paylaşmayı planlıyorsanız, TFM'niz olarak netstandard2.0
belirterek bunu yapabilirsiniz. Daha fazla bilgi için bkz. .NET Standard .
C# güncelleştirmeleri
.NET 5 uygulamaları yazan geliştiriciler en son C# sürümüne ve özelliklerine erişebilir. .NET 5, dile birçok yeni özellik getiren C# 9 ile eşleştirilir. İşte birkaç önemli nokta:
Kayıtlar: Değer tabanlı eşitlik semantiğine sahip ve yeni bir
with
ifadesi ile desteklenen yıkıcı olmayan mutasyona sahip başvuru türleri.İlişkisel desen eşleştirme: Desen eşleştirme özelliklerini mantıksal desenler de dahil olmak üzere karşılaştırmalı değerlendirmeler ve ifadeler için ilişkisel işleçlere genişletir-
and
yeni anahtar sözcükler ,or
venot
.Üst düzey deyimleri: C# benimsemesini ve öğrenmesini hızlandırmanın bir aracı olarak,
Main
yöntemi atlanabilir ve aşağıdaki örnek kadar basit bir uygulama geçerlidir:System.Console.Write("Hello world!");
İşlev işaretçileri: Şu ara dil (IL) işlem kodlarını ortaya çıkaran dil yapıları:
ldftn
vecalli
.
Kullanılabilir C# 9 özellikleri hakkında daha fazla bilgi için bkz. C# 9'daki yenilikler.
Kaynak oluşturucular
Kaynak oluşturucular, vurgulanan yeni C# özelliklerinden bazılarına ek olarak geliştirici projelerine de giriş yapıyor. Kaynak oluşturucular, derleme sırasında çalışan kodun programınızı incelemesine ve kodunuzun geri kalanıyla birlikte derlenmiş ek dosyalar üretmesine olanak sağlar.
Kaynak oluşturucular hakkında daha fazla bilgi için bkz. C# kaynak oluşturucularına giriş ve C# kaynak oluşturucu örnekleri.
F# güncelleştirmeleri
F# .NET işlevsel programlama dilidir ve .NET 5 ile geliştiriciler F# 5'e erişebilir. Yeni özelliklerden biri C# dilindeki ilişkilendirilmiş dizelere ve hatta JavaScript'e benzer ilişkilendirilmiş dizelerdir.
let name = "David"
let age = 36
let message = $"{name} is {age} years old."
Temel string ilişkilendirmesine ek olarak, tipli ilişkilendirme vardır. Yazılan ilişkilendirmede, belirli bir tür biçim tanımlayıcısıyla eşleşmelidir.
let name = "David"
let age = 36
let message = $"%s{name} is %d{age} years old."
Bu biçim, tür açısından güvenli girişlere göre bir dizeyi biçimlendiren sprintf
işlevine benzer.
Daha fazla bilgi için bkz. F# 5'teki yenilikler.
Visual Basic güncelleştirmeleri
.NET 5'te Visual Basic için yeni dil özelliği yok. Bununla birlikte, .NET 5 ile Visual Basic desteği şu şekilde genişletilir:
Açıklama |
dotnet new parametresi |
---|---|
Konsol Uygulaması | console |
Sınıf kitaplığı | classlib |
WPF Uygulaması | wpf |
WPF Sınıf kitaplığı | wpflib |
WPF Özel Denetim Kitaplığı | wpfcustomcontrollib |
WPF Kullanıcı Denetimi Kitaplığı | wpfusercontrollib |
Windows Forms (WinForms) Uygulaması | winforms |
Windows Forms (WinForms) sınıf kitaplığı | winformslib |
Birim Testi Projesi | mstest |
NUnit 3 Test Projesi | nunit |
NUnit 3 Test Öğesi | nunit-test |
xUnit Test Projesi | xunit |
.NET CLI'dan proje şablonları hakkında daha fazla bilgi için bkz. dotnet new
.
System.Text.Json yeni özellikleri
ve System.Text.Jsoniçin yeni özellikler vardır:
- Referansları korumak ve döngüsel referansları işlemek
- HttpClient 'da Serileştirme uzantısı yöntemleri
- Tırnak içine sayıları yaz veya izin ver
- Değiştirilemez türler ve C# 9 Kayıtları
- Ortak olmayan özellik erişimcilerini destekle
- Destek alanları
- Özellikleri koşullu olarak yoksay
- Dize anahtarı olmayan sözlükleri destekleme
- Özel dönüştürücülerin null işlemesine izin ver
- JsonSerializerOptions'u Kopyala
- Web varsayılanlarıyla JsonSerializerOptions oluşturma