.NET Standardı biçimsel bir kümedir.NET API spesifikasyonu, tüm .NET uygulamalarında bulunması bekleniyor. .NET Standard'ın tanıtılmasının motivasyonu, .NET ekosisteminde tutarlılığı artırmaktı. ECMA 335, .NET uygulama davranışı için tekdüzelik sağlamaya devam etmektedir, ancak .NET kütüphane uygulamaları için .NET Temel Sınıf Kütüphaneleri (BCL) için benzer bir spesifikasyon yoktur.
.NET Standardı aşağıdaki temel senaryoları mümkün kılar:
- Uygulamak istediğiniz tüm .NET uygulamaları için birleşik, iş yüküne bağlı bir BCL API seti tanımlayın.
- Geliştiricilerin, aynı API seti üzerinden çeşitli .NET uygulamalarında kullanılabilecek taşınabilir kütüphaneler oluşturmasını sağlar.
- .NET API yönleri için (sadece işletim sistemi API'leri) paylaşılan kaynak kodunun koşullu derlemesini azaltır veya hatta ortadan kaldırır.
Çeşitli .NET uygulamaları, belirli bir .NET Standardı sürümünü hedeflemektedir. Her .NET uygulaması, desteklediği en yüksek .NET Standard sürümünü açıklar; bu ilan, önceki sürümleri de desteklediği anlamına gelir. Örneğin, .NET Framework 4.6, .NET Standard 1.3'ü uygular. Yani, .NET Standard sürümleri 1.0'dan 1.3'e kadar tanımlanan tüm API'leri açığa çıkarır. Benzer şekilde, .NET Framework 4.6.1 .NET Standard 1.4'ü uygularken, .NET Core 1.0 .NET Standard 1.6'yı uygular.
.NET Standard ile .NET uygulamaları arasındaki ilişki, HTML spesifikasyonları ile tarayıcılar arasındaki ilişkiyle aynıdır. İkincisi, ilkinin gerçekleşmesidir.
Bu nedenle, .NET Framework, Xamarin ve .NET Core, yönetilen framework'lerin her biri 'yi uygular. NET Standardı. Bilgisayar endüstrisi yeni donanım ve işletim sistemleri tanıtmaya devam ettikçe, gelecekte yenileri ortaya çıkacaktır. .NET Hosting Framework. Bu standart, uygulama geliştiricilerine tutarlı bir API setine güvenebileceklerini gösteriyor.
Her biri. .NET sürümleri, .NET Standard sürümüne karşılık gelir.
API tutarlıdır ve uygulamaları farklı yönetilen uygulamalara taşımak ve araçlar sağlamak daha kolay olur.
.NET Standardı, ayrı bir NuGet paketi olarak tanımlanır, çünkü tüm . .NET uygulamaları desteklenmelidir
.NET Standardı ve Taşınabilir Kütüphaneler
Taşınabilir kütüphane aynı şeyi yapmıyor mu?
Taşınabilir sınıflar, birden fazla platform tarafından desteklenen ortak API'ler kullanır. Sonuç olarak, desteklenen platformların sayısı o kadar az olur ve belirli bir platform kombinasyonu için hangi API'lerin desteklendiğini tam olarak bilmek zor olabilir. Yeni bir platform için mevcut PCL yeniden derlenmelidir. PCL ayrıca Microsoft'un her platform için yeni bir framework uygulama çatalı oluşturmasını gerektirir. Nedeniyle. NET Standard, bir uygulamayı değil, bir API'yi tanımlar, bu yüzden uygulamayı yeniden derlemeye gerek yoktur. Yeni çıkmış herhangi bir şey. .NET uygulamaları gerekli kütüphaneleri uygular. Uygulamalar, yeni donanım platformlarında veya işletim sistemlerinde çalışmak için yeniden derlenmesine gerek yoktur. Teorik olarak, API çağrılırken bir NotSupportedException istisnası tespit edilebilir, ancak bu nadir olmalı.
.NET uygulama desteği
Aşağıdaki tablo, her .NET Standard sürümünü destekleyen minimum platform sürümlerini listeler. Bu, listelenen platformların sonraki sürümlerinin de ilgili .NET Standard sürümlerini desteklediği anlamına gelir. Örneğin, .NET Core 2.2, .NET Standard 2.0 ve daha eski sürümleri destekler.
|