İç içe yerleştirilmiş türler için donanım iç içe IsSupported denetimleri farklı olabilir
öğesinin denetlenerek <Isa>.X64.IsSupported
<Isa>
ad alanı içindeki sınıflara başvuruda bulunduğu System.Runtime.Intrinsics.X86 durumlarda artık .NET'in önceki sürümlerinden farklı bir sonuç elde edilebilir.
İpucu
ISA , endüstri standardı mimarinin kısaltmasıdır.
Sürüm kullanıma sunulmuştur
5.0
Açıklama değiştirildi
.NET'in önceki sürümlerinde, donanım içi türlerden System.Runtime.Intrinsics.X86 bazıları (örneğin, System.Runtime.Intrinsics.X86.Aes) iç içe X64
geçmiş bir sınıfı kullanıma sunmamıştı. Bu türler için çağrısı <Isa>.X64.IsSupported
, öğesinin IsSupported
üst sınıfının iç içe bir X64
sınıfındaki <Isa>
bir özelliğe çözümlendi. Bu, özelliğinin döndürdüğünde <Isa>.IsSupported
false
bile döndürülebileceği true
anlamına geliyordu.
.NET 5 ve sonraki sürümlerde, tüm System.Runtime.Intrinsics.X86 türler uygun şekilde destek sunan iç içe X64
geçmiş bir sınıfı kullanıma sunar. Bu, genel hiyerarşinin doğru kalmasını ve ise <Isa>.X64.IsSupported
true
<Isa>.IsSupported
olduğu varsayılmasını true
sağlar.
Değişiklik nedeni
ise <Isa>.X64.IsSupported
true
, <Isa>.IsSupported
olarak da belirtilmesi true
amaçlanmıştır. Ancak, C# dilinde üye çözümlemesinin nasıl çalıştığı nedeniyle, iç içe X64
geçmiş sınıfı olmayan sınıflar bunun her zaman böyle olmadığı ve kullanıcı kodunda hatalara neden olduğu bir durum ortaya çıkar.
Önerilen eylem
Gerekirse, uygun ISA'yı denetlemek için denetleyebilen IsSupported
kodu ayarlayın.
Etkilenen API’ler
- System.Runtime.Intrinsics.X86.Aes.X64.IsSupported
- System.Runtime.Intrinsics.X86.Avx.X64.IsSupported
- System.Runtime.Intrinsics.X86.Avx2.X64.IsSupported
- System.Runtime.Intrinsics.X86.Fma.X64.IsSupported
- System.Runtime.Intrinsics.X86.Pclmulqdq.X64.IsSupported
- System.Runtime.Intrinsics.X86.Sse3.X64.IsSupported
- System.Runtime.Intrinsics.X86.Ssse3.X64.IsSupported
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