से उत्पन्न दो डीएलएल फ़ाइल में ये अंतर क्या हैं मेरे सभी कोड स्रोत नियंत्रण में हैं, इसलिए मुझे 100% यकीन है कि स्रोत कोड नहीं बदला है। लेकिन अगर मैं एक सी # डीएलएल दो बार बनाता हूं तो उनकी सामग्री थोड़ा अलग होती है। मैं बस निर्माण करके 100% समय की समस्या का पुनरुत्पादन कर सकता हूं, और फिर फिर से निर्माण कर सकता हूं।एक ही स्रोत कोड
यह प्रोग्राम को बिल्कुल प्रभावित नहीं करता है, लेकिन एमएसआईएमएसपी जैसे टूल्स, दो एमएसआई फाइलों से पैच बनाने के लिए उपयोग किए जाते हैं, इन मिनटों में बदलाव से फेंक दिया जाता है। पैच बनाना (मेरे उत्पाद के लिए) 40x बड़ा होना चाहिए।
मैंने डीएलएल और उनकी असेंबली सूचना, कक्षाएं, आदि दोनों को संकुचित कर दिया है ... बिल्कुल वही हैं। फाइलें बिल्कुल वही आकार हैं, लेकिन निश्चित रूप से एक अलग निर्माण समय है। तो मैं वास्तव में क्या बदल गया है समझ में नहीं आता है।
तो मैंने थोड़ा गहरा खोला।
मैंने परिवर्तन खोजने के लिए WinDiff का उपयोग किया है और फिर हेक्स संपादक में इन्हें संदर्भित किया है। WinDiff दूसरी 'लाइन' में बदलाव और फ़ाइल के लगभग 80% पर एक पंक्ति में दिखाता है।
हेक्स संपादक में मैं देखता हूं कि बदला गया पहला बाइट बाइट 0x088 (बाइट 136) है। ऐसा लगता है कि इस 'लाइन' पर एकमात्र बाइट बदल गया है। मुझे दूसरा बदलाव खोजने में परेशानी है क्योंकि WinDiff मुझे परिवर्तन के सटीक बाइट ऑफ़सेट नहीं बताता है।
यहां परिवर्तनों की एक छवि है, सही फ़ाइल नई फ़ाइल की सामग्री है।
क्या कोई भी (सी #) डीएलएल फाइलों के मेकअप से परिचित कोई जानता है कि बदले बाइट का मतलब क्या हो सकता है? या फिर बेहतर है कि यह सुनिश्चित करने के लिए कि जब आप उन्हें पुनर्निर्माण करते हैं तो डीएलएल फाइलें वही रहती हैं?
कभी-कभी मेरे बिन/रिलीज फ़ोल्डर में $ RANDOM_SEED $ नाम की एक फ़ाइल होती है, और जब भी मैं पुनर्निर्माण करता हूं उस फ़ाइल की सामग्री बदल जाती है। मैं विस्तार से नहीं गया हूं, लेकिन मैं कल्पना कर सकता हूं कि दो परिवर्तनों में से एक है। किसी को कुछ पुनर्विक्रय करने की आवश्यकता होगी। ** संपादित करें: ** (इसकी नुनिट, शायद डीएल में कोई प्रभाव नहीं है, इसलिए मेरी टिप्पणी भूल जाओ) http://stackoverflow.com/a/40382757/5962841 – Mafii
एक अच्छा टेक्स्ट/वेदिट जैसे हेक्स संपादक। मैं 1 9 8 9 से इसका उपयोग कर रहा हूं। इन आईडीई और इंटेलिजेंस दिनों में भी आपके निपटारे में एक अच्छा उपकरण है। www.vedit.com –
[मैं कैसे बता सकता हूं कि दो नेट डीएलएल समान हैं] (http://stackoverflow.com/questions/2735643/how-can-i-tell-whether-two-net-dlls-are- वही) एक अलग कोण से एक ही मुद्दे से संपर्क करने लगता है। –