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 Çalışma Zamanı ve .NET SDK'sı farklı sıklıklarda yeni özellikler ekler. Genel olarak, SDK çalışma zamanından daha sık güncelleştirilir. Bu makalede çalışma zamanı ve SDK sürüm numaraları açıklanmaktadır.
.NET her Kasım ayında yeni bir ana sürüm yayınlar. .NET 6 veya .NET 8 gibi çift numaralı sürümler uzun süreli desteklenir (LTS). LTS sürümleri üç yıl boyunca ücretsiz destek ve yamalar alır. Tek rakamlı sürümler standart dönem desteğidir. Standart vadeli destek sürümleri 18 ay boyunca ücretsiz destek ve yamalar alır.
Sürüm oluşturma ayrıntıları
.NET Çalışma Zamanı, anlamsal sürüm oluşturmadan sonra sürüm oluşturma için major.minor.patch yaklaşımına sahiptir.
Ancak .NET SDK'sı anlamsal sürüm oluşturma işlemini izlemez. .NET SDK'sı daha hızlı yayınlanır ve sürüm numaralarının hem hizalanmış çalışma zamanını hem de SDK'nın kendi ikincil ve düzeltme eki sürümlerini iletmesi gerekir.
.NET SDK sürüm numarasının ilk iki konumu, birlikte yayımlanan .NET Çalışma Zamanı sürümüyle eşleşer. SDK'nın her sürümü bu çalışma zamanı veya daha düşük bir sürüm için uygulama oluşturabilir.
SDK sürüm numarasındaki üçüncü konum hem küçük sürüm hem de yama numarasını iletir. Küçük sürüm 100 ile çarpılır. Son iki basamak yama numarasını temsil eder. Küçük sürüm 1, yama sürümü 2 şu şekilde temsil edilir: 102. Örneğin, çalışma zamanı ve SDK sürüm numaralarının olası bir dizisi aşağıda verilmiştir:
Değişiklik | .NET Çalışma Zamanı | .NET SDK (*) | Notlar |
---|---|---|---|
İlk sürüm | 5.0.0 | 5.0.100 | İlk sürüm yayınlandı. |
SDK düzeltme eki | 5.0.0 | 5.0.101 | Çalışma zamanı bu SDK yaması ile değişmedi. SDK yaması, SDK sürüm numarasındaki son rakamı artırır. |
Çalışma zamanı ve SDK yaması | 5.0.1 | 5.0.102 | Çalışma zamanı düzeltme eki, Çalışma Zamanı düzeltme eki numarasını artırır. SDK yaması, SDK sürüm numarasındaki son rakamı artırır. |
SDK özellik değişikliği | 5.0.1 | 5.0.200 | Çalışma zamanı düzeltme eki değişmedi. Yeni SDK özelliği, SDK yama versiyonundaki ilk basamağı artırır. |
Çalışma zamanı düzeltme eki | 5.0.2 | 5.0.200 | Çalışma zamanı düzeltme eki, Çalışma Zamanı düzeltme eki numarasını artırır. SDK değişmez. |
Yukarıdaki tabloda çeşitli ilkeler görebilirsiniz:
- Çalışma zamanı ve SDK, birincil ve ikincil sürümleri paylaşır. Belirli bir SDK ve çalışma zamanı için ilk iki sayı eşleşmelidir. Yukarıdaki tüm örnekler .NET 5.0 yayın akışının bir parçasıdır.
- Çalışma zamanının düzeltme eki sürümü yalnızca çalışma zamanı güncelleştirildiğinde değişir. SDK düzeltme eki numarası çalışma zamanı düzeltmesi için güncellenmez.
- SDK'nın düzeltme eki sürümü yalnızca SDK güncelleştirildiğinde güncelleştirilir. Çalışma zamanı güncellemesinin SDK güncellemesi gerektirmemesi mümkündür.
NOTLAR:
- SDK'da çalışma zamanı özellik güncelleştirmeden önce 10 özellik güncelleştirmesi varsa sürüm numaraları 1000 serisine eklenir. Sürüm 5.0.1000, sürüm 5.0.900'i izler. Bu durumun gerçekleşmesi beklenmemektedir.
- Özellik sürümü olmadan 99 yama sürümü gerçekleşmeyecektir. Bir sürüm bu sayıya yaklaşırsa bir özellik güncellemesini zorlar.
dotnet/designs deposundaki ilk teklifte daha fazla ayrıntı görebilirsiniz.
Anlamsal sürüm oluşturma
.NET Çalışma Zamanı kabaca AnlamSal Sürüm Oluşturma'ya (SemVer) bağlı kalarak sürüm oluşturmanın MAJOR.MINOR.PATCH
kullanımını benimser ve değişiklik derecesini ve türünü açıklamak için sürüm numarasının çeşitli bölümlerini kullanır.
MAJOR.MINOR.PATCH[-PRERELEASE-BUILDNUMBER]
İsteğe bağlı PRERELEASE
ve BUILDNUMBER
bölümleri hiçbir zaman desteklenen sürümlerin parçası değildir ve yalnızca gecelik derlemelerde, kaynak hedeflerden yerel derlemelerde ve desteklenmeyen önizleme sürümlerinde bulunur.
Çalışma zamanı sürüm numarası değişiklikleri
MAJOR
yılda bir kez artırılır ve şu içerebilir:- Üründe önemli değişiklikler veya yeni bir ürün yönü.
- API kırıcı değişiklikler tanıtıldı. Kritik değişiklikleri kabul etmek için yüksek bir standart vardır.
- Mevcut bağımlılığın daha
MAJOR
yeni bir sürümü benimsenmiştir.
Büyük sürümler yılda bir kez gerçekleşir, çift numaralı sürümler uzun süreli desteklenen (LTS) sürümlerdir. Bu sürüm oluşturma düzenini kullanan ilk LTS sürümü .NET 6'dır. LTS olmayan en son sürüm .NET 9'dur.
MINOR
şu durumlarda artırılır:- Genel API yüzey alanı eklenir.
- Yeni bir davranış eklenir.
- Mevcut bağımlılığın daha
MINOR
yeni bir sürümü benimsenmiştir. - Yeni bir bağımlılık tanıtıldı.
PATCH
şu durumlarda artırılır:- Hata düzeltmeleri yapılır.
- Daha yeni bir platform desteği eklendi.
- Mevcut bağımlılığın daha
PATCH
yeni bir sürümü benimsenmiştir. - Diğer değişiklikler önceki durumlardan birine uymuyor.
Birden çok değişiklik olduğunda, tek tek değişikliklerden etkilenen en yüksek öğe artırılır ve aşağıdakiler sıfırlanır. Örneğin, artırıldığında MAJOR
MINOR.PATCH
sıfıra sıfırlanır. Artırıldığında MINOR
sıfıra PATCH
sıfırlanır ve MAJOR
aynı kalır.
Dosya adlarındaki sürüm numaraları
.NET için indirilen dosyalar sürümü taşır, örneğin, dotnet-sdk-5.0.301-win-x64.exe
.
Önizleme sürümleri
Önizleme sürümlerinin sürüm numarasının sonuna bir -preview.[number].[build]
eklenmiştir. Örneğin, 6.0.0-preview.5.21302.13
.
Hizmet sürümleri
Bir yayın çıktıktan sonra yayın dalları genellikle günlük derlemeler üretmeyi durdurur ve bunun yerine hizmet derlemeleri oluşturmaya başlar. Hizmet sürümlerine, sürümün sonuna bir -servicing-[number]
eklenir. Örneğin, 5.0.1-servicing-006924
.
.NET Çalışma Zamanı uyumluluğu
.NET Çalışma Zamanı, sürümler arasında yüksek düzeyde uyumluluk sağlar. .NET uygulamaları, yeni bir ana .NET Çalışma Zamanı sürümüne yükselttikten sonra büyük olarak çalışmaya devam etmelidir.
Her bir ana .NET Çalışma Zamanı sürümü kasıtlı, dikkatli bir şekilde incelenmiş ve belgelenmiş uyumsuzluk oluşturan değişiklikler içerir. Belgelenen hataya neden olan değişiklikler, yükseltmeden sonra bir uygulamayı etkileyebilecek tek sorun kaynağı değildir. Örneğin, .NET Çalışma Zamanı'ndaki bir performans iyileştirmesi (kesintiye neden olan bir değişiklik olarak değerlendirilmeyen), uygulamanın o sürümde çalışmamasına neden olan gizli iş parçacığı hatalarını ortaya çıkarabilir. Büyük uygulamaların yeni bir .NET Çalışma Zamanı ana sürümüne yükselttikten sonra birkaç düzeltme gerektirmesi beklenir.
Varsayılan olarak, .NET uygulamaları belirli bir .NET Çalışma Zamanı ana sürümünde çalışacak şekilde yapılandırılır, bu nedenle uygulamayı yeni bir .NET Çalışma Zamanı ana sürümünde çalışacak şekilde yükseltmek için yeniden derleme önerilir. Ardından, yükseltmeden sonra sorunları belirlemek için uygulamayı yeniden test edin.
Uygulama yeniden derleme yoluyla yükseltmenin uygun olmadığını varsayalım. Bu durumda, .NET Çalışma Zamanı, bir uygulamanın derlendiği sürümden daha yüksek bir ana .NET Çalışma Zamanı sürümünde çalışmasını sağlamak için ek ayarlar sağlar. Bu ayarlar, uygulamayı daha yüksek bir .NET Çalışma Zamanı sürümüne yükseltmeyle ilgili riskleri değiştirmez ve yükseltme sonrasında uygulamayı yeniden test etmek yine de gereklidir.
.NET Çalışma Zamanı, eski .NET Çalışma Zamanı sürümlerini hedefleyen kitaplıkların yüklenmesini destekler. Daha yeni bir ana .NET Çalışma Zamanı sürümüne yükseltilen bir uygulama, eski .NET Çalışma Zamanı sürümlerini hedefleyen kitaplıklara ve NuGet paketlerine başvurabilir. Uygulama tarafından başvuruda bulunan tüm kitaplıkların ve NuGet paketlerinin hedef çalışma zamanı sürümünü aynı anda yükseltmek gereksizdir.