2011-09-27 34 views
6

मेरे पास एक सी ++ प्रोजेक्ट है, जो /clr पर सेट है, जिसे उसी समाधान में सी # परियोजनाओं द्वारा संदर्भित किया गया है। दुर्भाग्यवश, ऐसा लगता है कि सी ++ ठीक तरह से हस्ताक्षरित नहीं होता है, जिससे त्रुटि संदेश होता है "असेंबली का मजबूत नाम नहीं होता है।" (sn.exe उस त्रुटि से सहमत है।)
हालांकि, प्रोजेक्ट सेटिंग्स (लिंकर/उन्नत) में एक स्नैक फ़ाइल है, इसलिए पर हस्ताक्षर किए जाने चाहिए। इसके अलावा, सभी प्रोजेक्ट सेटिंग्स एक ही समाधान में एक और सी ++ प्रोजेक्ट की तरह लगती हैं - जहां सबकुछ काम करता है।मेरी सी ++ असेंबली क्यों हस्ताक्षरित नहीं है?

एक बात मैं घंटों के लिए इस पर मेरे बाल फाड़ के बाद पाया है:
जब लिंकर के लिए /NOLOGO स्विच को नष्ट करने, यह स्पष्ट हो जाता है कि लिंकर दो बार कहा जाता है। मेरे पास मामूली विचार नहीं है कि यह क्यों हो सकता है।
अब, परियोजना है कि लिंकर काम करता है दोनों आमंत्रण के लिए कमांड लाइन (/KEYFILE:) में SNK फ़ाइल पारित कर दिया जाता है, एक है कि नहीं काम करता है में में, दूसरा मंगलाचरण नहीं करता SNK फ़ाइल प्राप्त बीतने के।

लिंकर को दो बार क्यों बुलाया जाएगा? क्या निर्धारित करता है कि दूसरे स्नोकेशन में स्नैक फ़ाइल पास नहीं हुई है?

उत्तर

9

ठीक है, मैं समाधान नहीं मिला: जाहिर है, एमएस VS2010 के लिए SP1 रिलीज विस्फोट से उड़ा दिया और आप MSBuild स्थापना फ़ोल्डर में चारों ओर जाओ और गड़बड़ करने के लिए है। Here गंदा विवरण देने वाला एक लेख है।

(और क्यों इस में एक परियोजना काम करेगा, लेकिन अन्य मुझे पता नहीं है। और, स्पष्ट रूप से में, मैं काफी घंटे इस दीवार को पहले से ही के खिलाफ मेरे सिर पीटने खो दिया है, और किसी भी आगे की जांच नहीं करेगा ।)

+2

इसे पोस्ट करने के लिए धन्यवाद। आपने मुझे बाल खींचने के घंटों से बचाया। – dss539

+0

@ dss539: मुझे बताने के लिए धन्यवाद! – sbi

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