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 kod çözümleyici kuralı CA2014 varsayılan olarak .NET 5'te başlayarak etkindir. Bir döngü içinde stackalloc ifadesinin kullanıldığı herhangi bir C# kodu için bir derleme uyarısı üretir.
Açıklamayı değiştir
.NET 5'den başlayarak .NET SDK'sı .NET kaynak kodu çözümleyicilerini içerir. Ca2014 de dahil olmak üzere bu kuralların bazıları varsayılan olarak etkindir. Projeniz bu kuralı ihlal eden bir kod içeriyorsa ve uyarıları hata olarak değerlendirecek şekilde yapılandırılmışsa, bu değişiklik derlemenizi bozabilir.
Kural CA2014, bir stackalloc ifadesinin döngü içinde kullanıldığı C# kodunu arar. stackalloc geçerli yığın çerçevesinden bellek ayırır. Bellek, geçerli yöntemin çağrısı geri dönene kadar serbest bırakılmaz, bu da sonuç olarak yığın taşmalarına yol açabilir. Yığın taşması istisnalarını yakalayamazsınız, bu nedenle yığın taşması durumunda uygulama kendiliğinden sonlanır.
Sürüm kullanıma sunulmuştur
5.0
Önerilen eylem
Döngülerin içinde stackalloc kullanmaktan kaçının. Bellek bloğunu döngünün dışına ayırın ve döngünün içinde yeniden kullanabilirsiniz. Daha fazla bilgi için bkz. CA2014.
Kod analizini tamamen devre dışı bırakmak için proje dosyanızda
EnableNETAnalyzersöğesinifalseolarak ayarlayın. Daha fazla bilgi için bkz . EnableNETAnalyzers.
Etkilenen API'ler
API analizi aracılığıyla algılanamaz.