2016-08-31 30 views
13

Gizemli uygulamamın mono üzerinde çalışmasını sağlayamıyorum. Mono üzerinde göze çarpmayan çalışmalar. Win framework'te .net çerçevesini kullandığımda, her iki değişkende de sorun çıkarmadan başlar.ConfuserEx: Mono'da System.TypeInitializationException

işlenmeyen özel durum: System.TypeInitializationException:

Bu

alıyorum istisna tür başlatıcısı '< Modülü>' istisna attı. ---> System.NullReferenceException: Nesne başvurusu, bir nesnenin bir örneğine - “bir” veya “bir” örneğine ayarlanmamıştır; â € «aa € Œã € <â € AA € â« â¯â¬â € € â «â € Œã € ®ââ« â â € â € ªã € «AA € ¬ â €« â € ªã € ªª € ®() < 0x40884310 + 0x00874> in: 0 , ..cctor() < 0x40884100 + 0x00017> in: 0 --- İç istisna yığınının izinin bırakılması --- , Vintagestory.Server.Program.Main (System.String [] args) < 0x408814c0 + 0x002bb> in: 0 [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: '' için bir tür başlatıcı '' bir istisna attı. ---> System.NullReferenceException: Nesne başvurusu, bir nesnenin bir örneğine - “bir” veya “bir” örneğine ayarlanmamıştır; â € «aa € Œã € <â € AA € â« â¯â¬â € € â «â € Œã € ®ââ« â â € â € ªã € «AA € ¬ â €« â € ªã € ªª € ®() < 0x40884310 + 0x00874> in: 0 , ..cctor() < 0x40884100 + 0x00017> in: 0 --- İç istisna yığınının izinin bırakılması --- , Vintagestory.Server.Program.Main (System.string [] args) < 0x408814c0 + 0x002bb> 'de: istisna bunun eklemek yüklemesi yapmak varken noktada gerçekleşmesi gibi görünüyor 0

Aynı süreçte gizlenmiş bir harici kütüphaneden gelen kod.

Bunun için nasıl gidip hata ayıklama/düzeltme yapabilirim?

Güncelleme: Burada da biraz daha ayrıntı hata bir github sorunu giriştir: Windows Mono

Update2 üzerinde gerçekleşmesi görünüyor https://github.com/yck1509/ConfuserEx/issues/535

+0

ConfuserEx veya mono kullanmadım - belki sadece linux üzerinde desteklenmeyen bir şey kullanıyorlar - Sanırım bu istisnayı fırlatan kurucudur, ancak resim çektiğiniz kodların hiçbiri gösteremez. bir NullReferenceException. Bunun basit bir hata ayıklama yöntemine sahip olduğunu sanmıyorum çünkü bu temelde gizleme noktasıdır, bu yüzden muhtemelen kod girmeniz ve kodunuzu anlamalısınız. Belki de kurucunun tüm kodunu yapıştırın ve sana yardım edebilirim. – gilmishal

+0

Cevabınız için teşekkür ederiz, tüm kaynak koduna bir pastebin ekledim. Deneyebileceğim bir şey, bireysel korumaları etkisiz hale getirmek ve hangi sebepleri görmek. – Tyron

+0

Klasik 'Trace.WriteLine' hata ayıklamanın yardımcı olacağı bir durum gibi görünüyor. Sorunun konumunu daraltmak için statik başlatıcının her ifadesinden sonra hata ayıklama iletilerini yazdırın (ayrıca statik alanların statik başlatıcıya başlatılmasını da sağlayın). –

cevap

8

Tek bir C# sınıfı için azami Gizleme Seviye kullanılan Bu, kullanılmayan, ancak gerekli olan harici bir kütüphanenin bir parçası değildi, bu problem gibi görünüyordu.

Obstrüksiyon seviyesini "Agresif" seviyesine indirdiğimde işe yarıyor. İdeal değil ama şimdilik yapacak.