2011-07-05 16 views
8

PEVerify दिए गए त्रुटि और चेतावनी आउटपुट जैसे कि नीचे, एक आपत्तिजनक वर्ग और इंटरफ़ेस नामों पर वापस कैसे ट्रैक करता है? मान लीजिए कि मैं एक कंपाइलर लेखक या आईएल जादूगर नहीं हूं।क्या PEVerify त्रुटियों और चेतावनियों को डीकोड करने का कोई आसान तरीका है?

[MD]: Error: Class implements interface but not method (class:0x02000091; interface:0x06000169;method:0x00000000). [token:0x09000043] 
[MD]: Warning: MemberRef has a duplicate, token=0x0a0001ff. [token:0x0A000060] 
+0

यदि आप एक कंपाइलर लेखक या आईएल हैकर नहीं हैं, तो आपने इन समस्याओं के साथ एक असेंबली कैसे बनाई? .NET कंपाइलर्स सभी मामलों में वैध असेंबली का उत्पादन करते हैं (कंपाइलर बग्स का संक्षिप्त) – thecoop

+0

@thecoop मूल रूप से प्रश्न पोस्ट करने के बाद से, मैंने यह निर्धारित किया है कि ये त्रुटियां किसी तृतीय-पक्ष असेंबली में हैं। असेंबली एक ओएसएस परियोजना निर्माण है, इसलिए भी इसे ट्रैक करना पसंद करेंगे। – bentayloruk

+1

@thecoop यह दिखाई देगा कि ये त्रुटियां तब होती हैं जब आप [IHideObjectMember Intellisense चाल] लागू करते हैं (http://blogs.clariusconsulting.net/kzu/how-to-hide-system-object-members-from-your-interfaces/)। यह हमारे मामले में कारण है और हमने इसे दूसरी असेंबली पर सत्यापित किया है जो इस चाल (ऑटोफैक और मोक) का उपयोग करता है। – bentayloruk

उत्तर

11

आईएलडीएएसएम का उपयोग करें और असेंबली को प्रश्न में लोड करें। देखें-> मेटाइन्फो-> दिखाएँ! यह एक टेक्स्ट व्यूअर खोलता है जो असेंबली मेटाडेटा के मानव पठनीय संस्करण को दिखाता है। प्रासंगिक वर्ग, इंटरफ़ेस और विधियों को खोजने के लिए हेक्स पहचानकर्ताओं के लिए खोजें (लेकिन "0x" भाग छोड़ें)।

+0

क्या इस प्रोग्राम को करने का कोई तरीका है? – BatteryBackupUnit

+1

पीई फ़ाइल प्रारूप, जिसमें हेडर इस जानकारी को शामिल करता है, अच्छी तरह से प्रलेखित है और विंडोज एसडीके में विंडोज हेडर फाइलों में परिभाषित structs हैं, जिनमें से अधिकांश PInvoke मैपिंग के लिए सी # structs के रूप में उपलब्ध हैं। उस हेडर के एक अलग हिस्से को पढ़ने के लिए किसी का कोड यहां दिया गया है: http://code.cheesydesign.com/?p=572 –

संबंधित मुद्दे

 संबंधित मुद्दे