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.
Hata ayıklama ve sürüm yapılandırmaları tamamen farklı olduğundan Evrensel Windows Platformu uygulamanızın yayın derlemelerini hedef platformlarında test etmek önemlidir. Varsayılan olarak, hata ayıklama yapılandırması uygulamanızı derlemek için .NET Core çalışma zamanını kullanır, ancak yayın yapılandırması uygulamanızı yerel koda derlemek için .NET Native kullanır.
Önemli
MissingMetadataException, MissingInteropDataExceptionve MissingRuntimeArtifactException uygulamanızın yayın sürümlerini test ederken karşılaşabileceğiniz özel durumlarla ilgili bilgi için, bkz. "4. Adım: Eksik meta verilerini manuel olarak çözme: Başlarken konusunun yanı sıra Yansıma ve .NET Native ve Çalışma Zamanı Yönergeleri (rd.xml) Yapılandırma Dosyası Başvurusu.
Hata ayıklama ve sürüm derlemeleri
Hata ayıklama sürümü, .NET Core çalışma zamanında yürütüldüğünde henüz yerel koda derlenmemiştir. Bu, normalde çalışma zamanı tarafından sağlanan tüm hizmetleri uygulamanız için kullanılabilir hale getirir.
Öte yandan, yayın sürümü, hedef platformlar için yerel koda derlenir, dış çalışma zamanlarına ve kütüphanelere olan bağımlılıkların çoğunu kaldırır ve en yüksek performansı sağlamak için kodu yoğun bir şekilde optimize eder.
.NET Native kullanılarak derlenen sürüm yapılarında hata ayıklarken:
Normal .NET hata ayıklama araçlarından farklı olan .NET Native hata ayıklama altyapısını kullanırsınız.
Yürütülebilir dosyanızın boyutu mümkün olduğunca azaltılır. .NET Native'in yürütülebilir dosyanın boyutunu azaltma yollarından biri, Çalışma Zamanı özel durum iletileri bölümünde daha ayrıntılı olarak ele alınan bir konu olan çalışma zamanı özel durum iletilerini önemli ölçüde kırpmaktır.
Kodunuz yoğun bir şekilde iyileştirildi. Bu, mümkün olduğunda satır içi yerleştirme kullanıldığı anlamına gelir. (Inlining, kodu dış yordamlardan çağıran yordama taşır.) .NET Native'in özelleştirilmiş bir çalışma zamanı sağlaması ve agresif bir inlining uygulaması, hata ayıklama sırasında görüntülenen çağrı yığınını etkiler. Daha fazla bilgi için Çalışma zamanı çağrı yığını bölümüne bakın.
Uyarı
.NET Native araç zinciri ile derle kutusunu işaretleyerek veya işaretlerini kaldırarak hata ayıklama ve yayın derlemelerinin .NET Native araç zinciriyle derlenip derlenmediğini denetleyebilirsiniz. Ancak, Microsoft Store uygulamanızın üretim sürümünü her zaman .NET Native araç zinciriyle derler.
Çalışma zamanı özel durum iletileri
Uygulama yürütülebilir boyutunu en aza indirmek için. .NET Native, özel durum iletilerinin tam metnini içermez. Sonuç olarak, çalışma zamanı özel durumları yayın derlemelerinde atıldığında, özel durum iletilerinin tam metni görüntülenmeyebilir. Bunun yerine, metin daha fazla bilgi için izleyebileceğiniz bir bağlantının yanı sıra bir alt dizeden oluşabilir. Örneğin, özel durum bilgileri şu şekilde görünebilir:
Exception thrown: '$16_System.AggregateException' in Unknown Module.
Additional information: AggregateException_ctor_DefaultMessage
If there is a handler for this exception, the program may be safely continued.
Tam özel durum iletisine ihtiyacınız varsa bunun yerine hata ayıklama derlemesini çalıştırın. Örneğin, yayın derlemesindeki önceki özel durum bilgileri hata ayıklama derlemesinde aşağıdaki gibi görünebilir:
Exception thrown: 'System.AggregateException' in NativeApp.exe.
Additional information: Value does not fall within the expected range.
Çalışma zamanı çağrı yığını
Inlining ve diğer optimizasyonlar nedeniyle, .NET Native araç zinciri ile derlenen bir uygulama tarafından görüntülenen çağrı yığını, çalışma zamanı hatasının izini net bir şekilde belirlemenize yardımcı olmayabilir.
Yığının tamamını almak için bunun yerine hata ayıklama derlemesini çalıştırın.