2012-12-22 12 views
7

यह एक सीएलआर परियोजना है। मैं एक ही नाम के साथ दो डीएलएल फाइलों को आयात कर रहा हूं, quizz.dll (मैं पुराने संस्करण को legacyquizz.dll के रूप में नामित करता हूं) और इसमें quizz.dll के रूप में नया संस्करण एक विरासत कनवर्टर परीक्षण प्रोजेक्ट में शामिल है। (विरासत कनवर्टर परियोजना का परीक्षण केवल पुराने quizz.dll आयात करता है)।"विधानसभा वही सरल नाम पहले ही आयात किया जा चुका है" त्रुटि

यह वह त्रुटि है जो मुझे मिल रही है। । ।

ही सरल नाम 'Quizz, संस्करण = 2.0.0.1 के साथ एक विधानसभा, संस्कृति = तटस्थ, PublicKeyToken = अशक्त पहले से ही आयात किया गया है।

संदर्भों में से किसी एक को हटाने का प्रयास करें या उन्हें पर साइड-साइड सक्षम करें। सी:\ । । । \ Quizz.dll

जिस पथ पर यह इंगित कर रहा है वह quizz.dll के नए संस्करण का गंतव्य है।

मैं legacyquizz.dll फ़ाइल पर एक बाहरी उर्फ ​​उपयोग कर रहा हूँ:

extern alias legacy; 

एक "सरल नाम" इस संदर्भ में क्या है?

+0

प्रश्नोत्तरी परियोजनाओं में से किसी एक के प्रोजेक्ट गुणों से असेंबली नाम का नाम बदलने का प्रयास करें। – daryal

+0

मैं ऐसा नहीं कर सकता कि यह भूरा हो गया है। – rbtLong

उत्तर

4

आप परियोजना गुण खोलने और का चयन विधानसभा सूचना द्वारा सरल नाम देख सकते हैं:

enter image description here:

enter image description here

विधानसभा आप हस्ताक्षर टैब का चयन करें और बना सकते हैं या हस्ताक्षर कुंजी का चयन करने की जरूरत है अप करने के लिए

3

आपके पास एक ही नाम के साथ दो असेंबली हैं (फ़ाइल का नाम, असेंबली नाम नहीं)। इसके लिए दो समाधान हैं:

  1. प्रोजेक्ट की संपत्तियों और पुनर्मूल्यांकन से असेंबली में से एक का नाम बदलें।
  2. असेंबली पर Strong-Name Signing सेट करें ताकि एक ही असेंबली के दो अलग-अलग संस्करणों को सह-अस्तित्व में रखा जा सके।
-2

मुझे भी मेरी परियोजना में यह समस्या दिखाई देती है। मैंने अपना डीएलएल पथ दूसरे फ़ोल्डर में बदल दिया था, और संदर्भ पथ को उसी (निर्भरता परतों) के लिए भी बदल दिया था। यह काम करेगा। कोई डुप्लिकेशन नहीं होता है।

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