RuntimeIdentifier, çalışma zamanının oluşturulduğu platformu döndürür

RuntimeInformation.RuntimeIdentifier çalışma zamanında hesaplanan bir değer yerine çalışma zamanının oluşturulduğu platformu döndürür.

Önceki davranış

Değer, işletim sistemi dosyaları veya API'ler aracılığıyla hesaplanan bir çalışma zamanı tanımlayıcısı (RID) idi. Bu genellikle sürüme özgü ve dağıtıma özgü bir RID olduğu anlamına geliyordu. Örneğin, Bir uygulamayı Windows 11'de çalıştırırken değeri win10-x64 veya Ubuntu 20.04'te olabilir ubuntu.20.04-x64.

Yeni davranış

.NET 8'den başlayarak, değer çalışma zamanının oluşturulduğu RID değeridir. Bu, çalışma zamanının taşınabilir derlemeleri (Microsoft tarafından sağlanan tüm derlemeler) için değerin sürüme özgü ve dağıtıma özgü olmayan olduğu anlamına gelir. Örneğin, Windows 11'de değeri ve win-x64Ubuntu 20.04'te ise değeridir linux-x64. Taşınabilir olmayan derlemeler için (kaynak derleme), derleme sürümü ve dağıtımı olabilecek bir derleme RID'sini ayarlar ve bu değer döndürülen RID'dir.

Sürüm kullanıma sunulmuştur

.NET 8 RC 1

Hataya neden olan değişikliğin türü

Bu değişiklik davranışsal bir değişikliktir.

Değişiklik nedeni

Bu değişiklik, RID'ye özgü varlık çözümlemesine yapılan .NET 8 değişikliğine ve distro-aware çalışma zamanından uzaklaşmaya göre değişir. RuntimeInformation.RuntimeIdentifier , konağın veya çalışma zamanının kendisini çalışıyor olarak kabul ettiği platformu temsil etmesi gereken opak bir değerdir. .NET 8'de bu, çalışma zamanında hesaplanan bir RID yerine konağın veya çalışma zamanının oluşturulduğu platforma karşılık gelir.

RuntimeInformation.RuntimeIdentifier opak bir değerdir ve bileşen parçalarına ayrıştırılmak üzere tasarlanmamıştır. Bir uygulamanın üzerinde çalıştığı gerçek makinenin işletim sistemi sürümü için kullanın Environment.OSVersion. Açıklama için kullanın RuntimeInformation.OSDescription. Linux'ta belirli bir kimlik (dağıtım) ve ilgili sürüm için os-release dosyasını okuyabilirsiniz.

Etkilenen API’ler

Ayrıca bkz.