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.
Assembly.GetCallingAssembly() artık Native AOT’yi destekliyor ve çağıranı belirlemek için yığın izleme verilerini kullanıyor. Yığın izleme desteği devre dışı bırakılırsa, yöntem artık hem Native AOT hem de CoreCLR'de NotSupportedException oluşturur.
Sürüm kullanıma sunulmuştur
.NET 11 Önizleme 7
Önceki davranış
Önceden, Native AOT üzerinde Assembly.GetCallingAssembly() her zaman PlatformNotSupportedException özel durumunu oluştururdu. Daha önce CoreCLR'de yöntem, StackTraceSupportfalse olarak ayarlanmış olsa bile çağıran derlemeyi döndürüyordu.
Yeni davranış
.NET 11’den itibaren, Native AOT üzerinde, Assembly.GetCallingAssembly() yığın izleme verilerini inceleyerek çağıran derlemeyi döndürür. .NET 11’den itibaren, hem Native AOT’de hem de CoreCLR’de, false özellik anahtarı NotSupportedException olarak ayarlanmışsa yöntem StackTraceSupport fırlatır.
Özel durum iletisi:
StackTraceSupport özellik anahtarı false olarak ayarlandığında yığın izleme bilgileri alınamıyor.
Kesinti yaratan değişiklik türü
Bu değişiklik davranışsal bir değişikliktir.
Değişiklik nedeni
Doğru çağıranı döndürmek Assembly.GetCallingAssembly() için yığın izleme verileri gerekir. Yığın izleme desteği kullanılamıyorsa, çalışma zamanı çağıranı güvenilir bir şekilde belirleyemez. Çalışma zamanı artık yanlış bir sonuç döndürmek yerine NotSupportedException atıyor. Yerel AOT destek ayrıntıları için bkz. dotnet/runtime#129963.
Önerilen eylem
false değeri StackTraceSupport olarak ayarlanmış şekilde yayımlarsanız ve uygulamanız Assembly.GetCallingAssembly() çağırırsa, NotSupportedException bekleyin. Şu seçeneklerden birini kullanın:
- Anahtarı kaldırarak veya
StackTraceSupportdeğerinitrueolarak ayarlayarak yığın izleme desteğini etkinleştirin. - Assembly.GetCallingAssembly() çağrılarını kaldırın.
- NotSupportedException öğesini yakalayın ve yedek yolu açıkça işleyin.