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.
Not
Bu makale .NET Framework'e özgüdür. .NET 6 ve sonraki sürümleri de dahil olmak üzere daha yeni .NET uygulamaları için geçerli değildir.
Yönetilen illegalPrepareConstrainedRegion hata ayıklama yardımcısı (MDA), bir RuntimeHelpers.PrepareConstrainedRegions yöntem çağrısı özel durum işleyicisinin deyiminden try hemen önce olmadığında etkinleştirilir. Bu kısıtlama MSIL düzeyinde olduğundan, çağrı ile tryarasında açıklamalar gibi kod oluşturmayan bir kaynak olması izin verilebilir.
Belirtiler
Hiçbir zaman böyle değil, basit bir özel durum işleme bloğu ( veya catch) olarak kabul edilen kısıtlanmış yürütme bölgesi (finallyCER). Sonuç olarak, bellek yetersiz durumu veya iş parçacığı iptali durumunda bölge çalışmaz.
Neden
CER için hazırlık deseni doğru izlenmiyor. Bu bir hata olayıdır. PrepareConstrainedRegions Özel durum işleyicilerini bloklarına//catchfault/finallyfilter cer eklemek olarak işaretlemek için kullanılan yöntem çağrısı deyiminden try hemen önce kullanılmalıdır.
Çözüm
çağrısının PrepareConstrainedRegions deyiminden hemen önce gerçekleştiğinden try emin olun.
Çalışma Zamanı üzerindeki etkisi
Bu MDA'nın CLR üzerinde hiçbir etkisi yoktur.
Çıktı
MDA yöntemini çağıran PrepareConstrainedRegions yöntemin adını, MSIL uzaklığını ve çağrının deneme bloğunun başlangıcından hemen önce olmadığını belirten bir ileti görüntüler.
Yapılandırma
<mdaConfig>
<assistants>
<illegalPrepareConstrainedRegion/>
</assistants>
</mdaConfig>
Örnek
Aşağıdaki kod örneği, bu MDA'nın etkinleştirilmesine neden olan düzeni gösterir.
void MethodWithInvalidPCR()
{
RuntimeHelpers.PrepareConstrainedRegions();
Object o = new Object();
try
{
…
}
finally
{
…
}
}