OSPlatform öznitelikleri yeniden adlandırıldı veya kaldırıldı
.NET 5 Preview 8'de sunulan aşağıdaki öznitelikler kaldırıldı veya yeniden adlandırıldı: MinimumOSPlatformAttribute
, RemovedInOSPlatformAttribute
ve ObsoletedInOSPlatformAttribute
.
Açıklama değiştirildi
.NET 5 Preview 8 ad alanında System.Runtime.Versioning aşağıdaki öznitelikleri kullanıma sundu:
MinimumOSPlatformAttribute
RemovedInOSPlatformAttribute
ObsoletedInOSPlatformAttribute
.NET 5 Preview 8'de, bir proje gibi net5.0-windows
bir hedef çerçeve takma adını kullanarak işletim sistemine özgü bir .NET 5 türünü hedeflediğinde, derleme derleme düzeyi System.Runtime.Versioning.MinimumOSPlatformAttribute
özniteliği ekler.
.NET 5 RC1'de , ObsoletedInOSPlatformAttribute
kaldırıldı ve MinimumOSPlatformAttribute
RemovedInOSPlatformAttribute
aşağıdaki gibi yeniden adlandırıldı:
Önizleme 8 adı | RC1 ve üzeri adı |
---|---|
MinimumOSPlatformAttribute |
SupportedOSPlatformAttribute |
RemovedInOSPlatformAttribute |
UnsupportedOSPlatformAttribute |
.NET 5 RC1 ve sonraki sürümlerde, bir proje gibi net5.0-windows
bir hedef çerçeve adı kullanarak işletim sistemine özgü bir .NET 5 türünü hedeflediğinde, derleme derleme düzeyi SupportedOSPlatformAttribute özniteliği ekler.
Değişiklik nedeni
.NET 5 Preview 8, API'ler için desteklenen platformları belirtmek üzere 'de System.Runtime.Versioning öznitelikleri kullanıma sundu. Öznitelikler, platforma özgü API'ler bu API'leri desteklemeyen platformlarda kullanıldığında derleme uyarıları oluşturmak için Platform uyumluluk çözümleyicisi tarafından kullanılır.
.NET 5 RC1 için, platform dışlama için platform uyumluluk çözümleyicisine ek bir özellik eklendi. Bu özellik, API'lerin işletim sistemi platformlarında tamamen desteklenmeyen olarak işaretlenmesini sağlar. Bu özellik, daha uygun adlar da dahil olmak üzere özniteliklerde değişiklikler istendi. ObsoletedInOSPlatformAttribute
artık gerekli olmadığından kaldırıldı.
Sürüm kullanıma sunulmuştur
5.0 RC1
Önerilen eylem
Projenizi .NET 5 Preview 8'den .NET 5 RC1'e yeniden hedeflediğinizde, bu değişikliklerden dolayı derleme veya çalışma zamanı hatalarıyla karşılaşabilirsiniz. Örneğin, özniteliği derleme zamanında platforma özgü derlemelere uygulandığından ve eski derleme yapıtları eski API adına başvurmaya devam edeceğinden, öğesinin yeniden adlandırılması MinimumOSPlatformAttribute
hatalara neden olabilir.
Örnek derleme zamanı hataları:
- hata CS0246: 'MinimumOSPlatformAttribute' türü veya ad alanı adı bulunamadı (using yönergesi veya derleme başvurusu eksik mi?)
- hata CS0246: 'RemovedInOSPlatformAttribute' türü veya ad alanı adı bulunamadı (using yönergesi veya derleme başvurusu eksik mi?)
- hata CS0246: 'ObsoletedInOSPlatformAttribute' türü veya ad alanı adı bulunamadı (using yönergesi veya derleme başvurusu eksik mi?)
Örnek çalışma zamanı hatası:
İşlenmeyen özel durum. System.TypeLoadException: 'System.Runtime, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' derlemesinden 'System.Runtime.Versioning.MinimumOSPlatformAttribute' türü yüklenemedi.
Bu hataları çözmek için:
- için tüm başvurularını
MinimumOSPlatformAttribute
SupportedOSPlatformAttributegüncelleştirin. - için tüm başvurularını
RemovedInOSPlatformAttribute
UnsupportedOSPlatformAttributegüncelleştirin. - tüm başvurularını
ObsoletedInOSPlatformAttribute
kaldırın. - Eski derleme yapıtlarını silmek için projenizi yeniden oluşturun (veya temiz + derleme gerçekleştirin).
Etkilenen API’ler
System.Runtime.Versioning.MinimumOSPlatformAttribute
System.Runtime.Versioning.ObsoletedInOSPlatformAttribute
System.Runtime.Versioning.RemovedInOSPlatformAttribute
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin