SYSLIB0055: İmzalı parametrelere sahip AdvSimd.ShiftRightLogicalRoundedNarrowingSaturate* yöntemleri kullanımdan kaldırıldı
.NET 9'dan başlayarak, imzalı tamsayıları kabul eden aşağıdaki yöntemler eskidir:
- AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int64>, Byte)
- AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int16>, Byte)
- AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int32>, Byte)
- AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int16>, Byte)
- AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int64>, Byte)
- AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int32>, Byte)
- AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<SByte>, Vector128<Int16>, Byte)
- AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<Int16>, Vector128<Int32>, Byte)
- AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<Int32>, Vector128<Int64>, Byte)
Bunları kodda çağırmak, derleme zamanında uyarı SYSLIB0055
oluşturur.
Kullanımdan kaldırılmış olma nedeni
Arm Advanced SIMD UQRSHRN
yönergesi işaretsiz doygunlukta dar bir işlem gerçekleştirir. Bu nedenle, sonucu her zaman imzasızdır. Ancak, etkilenen API'ler imzalı türleri kabul etti ve döndürdü, yani yönerge açıklaması yerine API açıklamasını izlediyseniz beklendiği gibi çalışmadılar. Ayrıca, imzalı doygunlukta dar işlemler gerçekleştirmek ve imzalı sonuçlar döndürmek için temel alınan uygulama düzeltilemiyor.
Geçici çözüm
Verileri kasıtlı olarak imzalı türlere dönüştürün ve bunun yerine ilgili imzasız aşırı yüklemeyi çağırın, örneğin, AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<UInt32>, Vector128<UInt64>, Byte). Ardından, sonucu kasıtlı olarak imzalı bir türe dönüştürün.
Uyarıyı gizleme
Eski API'leri kullanmanız gerekiyorsa, uyarıyı kodda veya proje dosyanızda gizleyebilirsiniz.
Yalnızca tek bir ihlali engellemek için, önişlemci yönergelerini kaynak dosyanıza ekleyerek uyarıyı devre dışı bırakın ve sonra yeniden etkinleştirin.
// Disable the warning.
#pragma warning disable SYSLIB0055
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0055
Projenizdeki tüm SYSLIB0055
uyarıları engellemek için proje dosyanıza bir <NoWarn>
özellik ekleyin.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0055</NoWarn>
</PropertyGroup>
</Project>
Daha fazla bilgi için bkz . Uyarıları gizleme.
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