2009-11-27 14 views
28

.NET C# उपकरण के लिए निर्माण प्रक्रिया में, मैं एक एकल exe में असेंबली को मर्ज करने के लिए ILMerge का उपयोग कर रहा हूं।ILMerge DLL: असेंबली सही ढंग से विलय नहीं हुआ है, अभी भी एक बाहरी संदर्भ के रूप में सूचीबद्ध है

मैंने हाल ही में एक नई कक्षा पुस्तकालय जोड़ा, और अब आईएलएमर्ज विफल रहा है। मुझे याद है कि इसे नए डीएलएल में विलय करने के लिए कहा गया है!

अब यह मुझे इस त्रुटि, दे रहा है जो मैं वास्तव में नहीं है समझते हैं:

ILMerge.Merge: 'DataObjects' विधानसभा में सही ढंग से मर्ज नहीं किया गया। यह अभी भी असेंबली में बाह्य संदर्भ के रूप में सूचीबद्ध है।

मैंने 'परियोजना' संदर्भों का उपयोग करके किए गए सभी असेंबली संदर्भों का उपयोग किया है, और यह अतीत में विफल नहीं हुआ है।

क्या कोई मेरे लिए इस त्रुटि को समझा सकता है, या कृपया एक समाधान का सुझाव दे सकता है?

+0

क्या यह आपको स्रोत असेंबली बताता है? या आप इसे खोजने के लिए नेट परावर्तक का उपयोग कर सकते हैं? –

+0

यह सचमुच सिर्फ ऊपर की रेखा को आउटपुट कर रहा है। कुछ ऐसी असेंबली जिन्हें मैं 'डेटाऑब्जेक्ट्स' असेंबली संदर्भ में विलय करने की कोशिश कर रहा हूं, लेकिन यह थोड़ी देर के लिए मामला रहा है, और यह केवल तभी होता है जब एक नई असेंबली जोड़ती है जो संदर्भित करती है कि मुझे उपरोक्त त्रुटि मिल रही है। –

+1

क्या आपको इस समस्या का समाधान मिला? – loraderon

उत्तर

34

मुझे /closed तर्क का उपयोग करना पड़ा। आधिकारिक डॉक्स के अनुसार:

बंद रहता है

जब यह सेट किया गया है, मर्ज कॉल करने से पहले तो इनपुट विधानसभाओं के "सकर्मक बंद" अभिकलन और इनपुट विधानसभाओं की सूची में जोड़ा जाता है। एक विधानसभा मूल रूप निर्दिष्ट इनपुट विधानसभाओं में से एक से सकर्मक बंद का हिस्सा माना जाता है अगर यह संदर्भित है, या तो सीधे या परोक्ष रूप से , और यह है इनपुट विधानसभाओं में से एक, या में से एक के लिए एक बाहरी संदर्भ असेंबली जिनके पास ऐसा संदर्भ है। जटिल, लेकिन यह जीवन है ...

3

मैं जब कि एक ही विधानसभा के लिए सभी outputs विलय कर एक वेब एप्लिकेशन प्रकाशित करने के प्रयास एक ऐसी ही त्रुटि संदेश मिला:

जब विधानसभाओं विलय के दौरान त्रुटि हुई : ILMerge.Mgege: लक्ष्य असेंबली खुद को एक बाहरी संदर्भ के रूप में सूचीबद्ध करता है।

ऐसा होता है यदि असेंबली नाम आप Properties > Application के तहत वेब एप्लिकेशन के असेंबली नाम से मेल खाने के लिए विलय कर रहे हैं। आउटपुट असेंबली नाम को बदलना इसे ठीक करना चाहिए।

+0

इसके लिए धन्यवाद! –