2013-02-15 20 views
25

मेरी दृश्य स्टूडियो सी # परियोजना संकलन करते हैं, मैं निम्नलिखित त्रुटि हो रही है:आइटम "संसाधन" पैरामीटर में एक से अधिक बार निर्दिष्ट किया गया था। डुप्लिकेट आइटम "संसाधन" पैरामीटर द्वारा समर्थित नहीं हैं

The item "obj\Debug\SampleProject.Forms.MDIMain.resources" was specified more than once in the "Resources" parameter. Duplicate items are not supported by the "Resources" parameter.

हालांकि मैं इंटरनेट पर एक बहुत खोज की है, लेकिन समाधान में से कोई भी मेरे लिए काम किया

मैंने फ़ॉर्म को हटाने की कोशिश की और इसे परियोजना में फिर से जोड़ा, लेकिन यह मेरे लिए काम नहीं करता है।

मेरे पास केवल एक resx फ़ाइल है।

मैं वी.एस. 2010

भी उपयोग कर रहा हूँ, मैं निम्नलिखित समाधान की कोशिश की लेकिन यह मेरे लिए काम नहीं किया:

  1. https://stackoverflow.com/a/7928191/2074603
  2. https://stackoverflow.com/a/10066009

उत्तर

15

मैं हाल ही में इस समस्या थी , और मुझे लगता है कि मैंने अपनी विशेष स्थिति का पता लगाया है, तो शायद यह आपकी मदद करेगा।

मैंने मौजूदा फॉर्म की प्रतिलिपि बनाने के लिए विजुअल स्टूडियो आईडीई का उपयोग किया था (चलो इसे Form1 पर कॉल करें)। मैंने इसे उसी प्रोजेक्ट में चिपकाया (यह Copy of Form1 के रूप में पहुंचा)

मैंने उस नई प्रति को Form2 पर बदल दिया।

यह मुझे कुछ समय लिया, लेकिन मैं अंत में पाया गया कि आईडीई Form2

फ़ाइल नाम सही थे ... बस वास्तविक अंदर वर्गों में नामित किया गया करने के लिए दोनों Form1 और Copy of Form1 नाम दिया था।

मैंने मैन्युअल रूप से मूल कक्षा को उचित कक्षा में बदल दिया और voila, यह काम किया।

+2

भी फ़ाइल के प्रकार पर निर्भर करता है, लेकिन मैं XAML फाइलों के साथ काम करते हुए में भाग - और मैं इसे अन्य फ़ाइलों के लिए आवेदन कर सकते हैं लगता है कि आमतौर पर डिजाइनरों का उपयोग करने के लिए वीएस की आवश्यकता होती है। कोड को देखकर कॉपी की गई फ़ाइलों को खोलें, और सुनिश्चित करें कि सभी नाम वहां से सीधे हैं। मेरे मामले में, वीएस को एक्सएमएल में उन चरों में से कुछ का नाम बदलने के लिए बेहतर नहीं पता था। – Mattygabe

+0

@Mattygabe: धन्यवाद! जानकार अच्छा लगा। –

+0

यह वास्तव में मेरी समस्या थी। मैंने एक ही प्रोजेक्ट में एक फॉर्म को प्रतिलिपि/चिपकाया और नाम बदलने के लिए सबकुछ का नाम बदलना नहीं था। मुझे नए चिपके हुए फॉर्म के लिए Form.Designer.cs फ़ाइल में कक्षा का नाम बदलना पड़ा। –

3

मुझे एक ही त्रुटि थी और मेरे मामले में, मैंने इस समस्या को फॉलो की तरह तय किया।

enter image description here

हाइलाइट किए गए हिस्सा नीचे एक और फ़ाइल some_name_not_equal_to_main.resx था और यह हटाने के बाद, मेरे कार्यक्रम सामान्य रूप से चलते शुरू करते हैं।

आशा है कि इससे आपकी मदद मिलेगी।

1

फ़ाइल का नाम बदलने के बाद, कक्षा बनाई गई और नई बनाई गई फ़ाइल के अंदर सभी रचनाकारों का नाम बदलें। डिफ़ॉल्ट रूप से, फ़ाइल का नाम बदल जाता है लेकिन उनके अंदर कक्षाओं का नाम बदल नहीं जाता है। तो जरूरी काम करो।

1

मुझे बस यही समस्या थी। सटीक अर्थशास्त्र के बारे में निश्चित नहीं है, लेकिन यह 'मुख्य' फॉर्म क्लास के आंशिक के रूप में एकाधिक फ़ाइलों को बनाए रखने से संबंधित है।

मेरे मामले में, आईडीई ने इसे प्रारंभिक वर्ग फ़ाइलों में से एक में फॉर्म प्रारंभिक दिनचर्या जोड़ने के लिए अपने सिर में पाया, जो 'मुख्य' रूप नहीं था।

इससे दो 'मुख्य' रूप और संघर्ष पैदा हुए।

सीधे शब्दों में जोड़ा init कार्यों खोजने और उन्हें हटाने, जुड़े .resx फ़ाइल के साथ, समस्या तय।

0

आप प्रपत्र की एक प्रतिलिपि बनाई है, तो गुण के पास जाकर की नकल की फार्म के नाम बदल जाते हैं।

ज्यादातर मामलों में यह होता है जब आप फार्म की प्रतिलिपि बनाने के। जब आप फॉर्म की प्रति बनाते हैं, तो नए रूप में पुराने नाम के समान नाम होता है। यह पुराना रूप का नाम नहीं बदला गया है।

इस उदाहरण से:

मैं विजुअल स्टूडियो IDE का इस्तेमाल किया था एक मौजूदा फार्म को कॉपी करने के (के यह Form1 कॉल)। मैंने इसे एक ही प्रोजेक्ट में चिपकाया (यह फॉर्म 1 की प्रति के रूप में आया)। अब "Form1 के कॉपी" [] मामले में आप पहले से ही तो नाम दिया है करने के लिए जाना यह गुण Form2 (या जो भी वर्ग के नाम आप चाहते हैं) को बदलें नाम

है कि नाम] जाओ हो जाएगा और यह काम करना चाहिए।

इसके अलावा, याद है जब आप वर्ग के नाम का नाम बदलने, यह संभव है कि कोड में वर्ग के नाम के लिए संदर्भ भी परिवर्तन प्राप्त करें। तो उस से सावधान रहें। मैं नाम बदलने के बाद सुझाव दूंगा, कोड को फिर से संकलित करें, ताकि अगर संदर्भ बदल दिए जाएं तो आप वापस मूल श्रेणी के नाम (इस मामले में फॉर्म 1) पर वापस जा सकते हैं। फिर आप अपने नए वर्ग संदर्भों का उपयोग शुरू कर सकते हैं।

16

आसान!

  1. अपनी परियोजना को राइट-क्लिक करें और "अनलोड परियोजना"

  2. फिर से राइट क्लिक करें और "संपादित करें your_project.csproj" डुप्लिकेट त्रुटि संदेश में उल्लेख किया फ़ाइलों के लिए

  3. खोजें और उन्हें हटा दो।

  4. सहेजें और बंद करें।

  5. राइट-क्लिक करें "पुनः लोड परियोजना" का चयन करने के view image

+0

यह ठीक है। मेरे लिए मुद्दा एक साझा समाधान के लिए '.projitems' फ़ाइल थी, जो एक ही फ़ाइल को दो बार संदर्भित करता था। त्रुटि संदेश कहने वाले किसी भी फ़ाइल नाम के लिए बस अपने सभी proj ('.csproj',' .vbproj', आदि) फ़ाइलों को देखें, डुप्लिकेट किया गया है। फिर बस एक पंक्ति के अलावा सभी को हटा दें जो इसका संदर्भ देता है। – CooperAtlas

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