मेटाडेटा फ़ाइल '.dll' नहीं मिली


720

मैं एक WPF, C # 3.0 परियोजना पर काम कर रहा हूं, और मुझे यह त्रुटि मिली है:

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem

इस प्रकार मैं अपने usercontrols का संदर्भ देता हूं:

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>

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

मैंने बिल्ड ऑर्डर और निर्भरता कॉन्फ़िगरेशन की जाँच की है।

जैसा कि आप देख सकते हैं, ऐसा लगता है कि DLL फ़ाइल के पूर्ण पथ को काट दिया गया है ... मैंने पढ़ा है कि लंबाई के साथ एक बग है। क्या यह एक संभावित समस्या है?

यह बहुत परेशान करने वाला और टिप्पणी करने वाला, बिल्ड करने वाला और असहज करने वाला है, बिल्ड बेहद थकाऊ होता जा रहा है।


5
मुझे एक समान समस्या थी (वही त्रुटि जो शीर्षक पर इंगित की गई है) और परियोजना की सफाई और पुनर्निर्माण के द्वारा इसे संभाला। अन्य परियोजनाओं को सही ढंग से संदर्भित करने के लिए, मेरे पास कोई विचार नहीं है ..
फोएड

क्या इस सवाल का एक जवाब है जो स्वीकार किया जाएगा? मुझे @Matt_Bro द्वारा एक बहुत अच्छा लगता है।
डेमॉन्गोलम

4
मैंने मैट के उत्तर को चिह्नित किया है क्योंकि ऐसा लगता है कि ज्यादातर लोगों के लिए काम किया है लेकिन इससे मेरा मूल मुद्दा हल नहीं हुआ। मुझे अभी भी लगता है कि यह विंडोज़ की अधिकतम पथ सीमा से संबंधित है। नीचे मेरा जवाब देखें।
ओलिवर


मैंने उपरोक्त सभी उत्तरों की कोशिश की और दुर्भाग्य से मेरे मामले में कुछ भी काम नहीं किया। मुझे 2 त्रुटियों का सामना करना पड़ा 1. गुम .dll फ़ाइल 2. विधि पहले से ही एक ही स्थान पर एक ही पैरामीटर के साथ परिभाषित की गई है मैंने दूसरी त्रुटि को पहले फ़ंक्शन को हटा दिया है जिसे दूसरी जगह पर दोहराया गया है। मेरी पहली त्रुटि - जो .dll फ़ाइल गुम है, अपने आप ही हल हो गई है। अगर आप के पास एक से अधिक त्रुटि के साथ .dll गुम फ़ाइल त्रुटि है, तो मैं कहना चाहता हूं! कृपया पहले अन्य त्रुटियों को हल करने का प्रयास करें। हो सकता है। Dll त्रुटि उस पर हल करती है!
एक उपयोगकर्ता

जवाबों:


903

मुझे बस यही समस्या थी। विजुअल स्टूडियो उस परियोजना का निर्माण नहीं कर रहा है जिसे संदर्भित किया जा रहा है।

लिखित निर्देश:

  1. समाधान पर राइट क्लिक करें और गुण पर क्लिक करें।
  2. बाईं ओर कॉन्फ़िगरेशन पर क्लिक करें।
  3. सुनिश्चित करें कि जिस प्रोजेक्ट के लिए यह नहीं मिला है, उसके लिए "बिल्ड" के तहत चेक बॉक्स को चेक करें। यदि यह पहले से ही चेक किया हुआ है, तो अनचेक करें, हिट लागू करें और बक्से को फिर से जांचें।
  4. (वैकल्पिक) आपको समाधान गुणों पर रिलीज़ और डीबग मोड दोनों के लिए करना था।

स्क्रीन पर कब्जा निर्देश:

  • कहते हैं एक तस्वीर हजार शब्दों के समान होती है। ज़ूम इन करने के लिए GIF पर क्लिक करें, और उम्मीद है कि इसका पालन करना आसान होगा:

जिफ निर्देश


177
और, मेरे मामले में, भले ही चेक बॉक्स को चेक किया गया था, लेकिन इसे अनचेक करने और इसे फिर से चेक करने से समस्या ठीक हो गई।
13:13 बजे एनएमसी

13
इससे मेरी समस्या ठीक हो गई - मुझे इसे समाधान गुणों पर रिलीज़ और डीबग मोड दोनों के लिए करना था। धन्यवाद!
TheJerm

133
Simble अनचेक / चेक समस्या का समाधान नहीं किया है, इसलिए मुझे अगले चरण करने हैं: - स्वच्छ समाधान - सभी बिल्ड चेकबॉक्स को अनचेक करें - VS पुनरारंभ करें - सभी बिल्ड चेकबॉक्स की जांच करें - समाधान
बनाएं

27
दूसरी बात यह है कि परियोजना निर्भरता में से प्रत्येक की जाँच करें, किसी कारण से यह इसे स्वचालित रूप से सेट नहीं कर रहा था। समाधान गुण -> सामान्य गुण -> परियोजना निर्भरताएँ।
14

9
अनचेक -> चेक ने मेरे लिए संक्षेप में काम किया फिर समस्या वापस आ गई। तब मैंने विज़ुअल स्टूडियो को फिर से शुरू किया और समस्या दूर हो गई।
डेवलपर

224

यह अभी भी विज़ुअल स्टूडियो के नए संस्करणों में हो सकता है (मैंने अभी विजुअल स्टूडियो 2013 में ऐसा ही किया था):

कोशिश करने के लिए एक और चीज़ है विजुअल स्टूडियो को बंद करना और .suoफ़ाइल के बगल में मौजूद .slnफ़ाइल को हटाना । (यह अगली बार जब आप Save all(या विजुअल स्टूडियो से बाहर निकलें) उत्पन्न हो जाएगा )।

किसी अन्य मशीन पर समाधान में नई परियोजनाओं को जोड़ने और फिर संशोधनों को अंदर खींचते समय मुझे यह समस्या हुई है, लेकिन .suoफ़ाइल को अन्य मामलों में भी दूषित किया जा सकता है और बहुत ही अजीब दृश्य स्टूडियो व्यवहार हो सकता है, इसलिए इसे हटाना एक है चीजें जो मैं हमेशा कोशिश करता हूं।

ध्यान दें कि .suoफ़ाइल को हटाने से समाधान का स्टार्टअप प्रोजेक्ट (एस) रीसेट हो जाएगा।

.suoफ़ाइल पर अधिक यहाँ है


24
इससे मेरे लिए समस्या ठीक हो गई। यह भी उल्लेख के लायक है कि .suoफाइलें छिपी हुई हैं। इसलिए आपको छिपी हुई फ़ाइलों को दिखाने के लिए अपने एक्सप्लोरर को सेटअप करना होगा।
जॉर्ज हावर्थ

6
मैं Xamarin परियोजना के साथ काम कर रहा हूं और .suo फ़ाइल .vs / फ़ोल्डर में स्थित है। मैंने इसे हटाने की कोशिश की और इसने मेरी समस्या को हल नहीं किया

VS2013 - मुझे अपना टीएफएस कार्यक्षेत्र एक अलग स्थान पर ले जाना पड़ा। इसे पूरा करने के बाद मुझे यह त्रुटि मिलने लगी। मेरे लिए काम की गई मेमोरी फ़ाइल को हटाना
विन

40
इसने मेरे लिए भी काम किया। लेकिन विजुअल स्टूडियो 2015 में, .suoफ़ाइल दोनों छिपी हुई है और .vsबगल में छिपी निर्देशिका में बैठती है .sln। उदाहरण के लिए: यदि समाधान फ़ाइल है c:\foo\mysolution.slnतो देखने के लिएc:\foo\mysolution\.vs\mysolution\v14\.suo
Wyck

6
VS2017 के लिए, सादगी के लिए, मैंने .vsइसके बजाय छिपे हुए फ़ोल्डर को हटा दिया जिसने .suoफ़ाइल को भी हटा दिया । मैंने समाधान फिर से खोल दिया, एक और असंबंधित त्रुटि को ठीक किया और समस्या हल हो गई।
user3613932

183

सुझाया गया उत्तर मेरे काम नहीं आया। त्रुटि अन्य समस्या के लिए एक डिकॉय है।

मुझे पता चला कि मैं .NET के थोड़े अलग संस्करण को लक्षित कर रहा था और इसे संकलक द्वारा चेतावनी के रूप में चिह्नित किया गया था, लेकिन यह भवन को विफल कर रहा था। इसे एक त्रुटि के रूप में चिह्नित किया जाना चाहिए था न कि चेतावनी के रूप में।


9
मैं प्रोजेक्ट के राइटिंग> प्रॉपर्टीज> एप्लिकेशन> टार्गेट फ्रेमवर्क पर राइट क्लिक करके चेतावनी संदेश में दर्शाए गए उच्च संस्करण के लिए प्रोजेक्ट के लिए फ्रेमवर्क का मिलान करके ठीक करने में सक्षम था।
StronglyTyped

1
मेरे लिए समान, vs2015 का उपयोग करके।
bruno.bologna

हां। मेरे साथ भी ऐसा ही हुआ। वीएस 2015
केविनडेउस

धन्यवाद! इससे मेरी समस्या हल हो गई। वी.एस. 2015 को .Net फ्रेमवर्क 4.7.1 में प्रोजेक्ट अपग्रेड करने के बाद।
डीएचओवर

वाह, यह मेरे लिए तय है। नई परियोजना एक अलग .net संस्करण को लक्षित कर रही थी। विश्वास नहीं किया जा सकता है कि इसके लिए vs2017 में भी कोई चेक नहीं है।
डगलस गास्केल

104

खैर, मेरा जवाब सिर्फ सभी समाधानों का सारांश नहीं है, बल्कि यह इससे कहीं अधिक है।

अनुभाग एक):

सामान्य समाधानों में:

मेरे पास इस तरह की चार त्रुटियां थीं ('मेटाडेटा फ़ाइल नहीं मिल सकी') और साथ ही एक त्रुटि यह भी कह सकती है कि 'सोर्स फाइल नॉट बी ओपन (' अनिर्दिष्ट त्रुटि ')'।

मैंने 'मेटाडेटा फ़ाइल नहीं मिल पाई' त्रुटि से छुटकारा पाने की कोशिश की। उसके लिए, मैंने कई पोस्ट, ब्लॉग इत्यादि पढ़े और पाया कि ये समाधान प्रभावी हो सकते हैं (इन्हें यहाँ संक्षेप में प्रस्तुत करना):

  1. Visual Studio को पुनरारंभ करें और फिर से निर्माण करने का प्रयास करें।

  2. पर जाएं 'समाधान एक्सप्लोरर' । समाधान पर राइट क्लिक करें। गुणों पर जाएं । पर जाएं 'विन्यास प्रबंधक' । जांचें कि 'बिल्ड' के तहत चेकबॉक्स चेक किए गए हैं या नहीं। यदि उनमें से कोई भी या सभी अनियंत्रित हैं, तो उन्हें जांचें और फिर से निर्माण करने का प्रयास करें

  3. यदि उपरोक्त समाधान काम नहीं करता है, तो उपरोक्त चरण 2 में उल्लिखित अनुक्रम का पालन करें, और यहां तक ​​कि यदि सभी चेकबॉक्स चेक किए गए हैं, तो उन्हें अनचेक करें, फिर से जांचें और फिर से निर्माण करने का प्रयास करें।

  4. आदेश और परियोजना निर्भरता बनाएँ:

    पर जाएं 'समाधान एक्सप्लोरर' । समाधान पर राइट क्लिक करें। पर जाएं 'परियोजना निर्भरता ...' । आपको दो टैब दिखाई देंगे: 'डिपेंडेंसी' और 'बिल्ड ऑर्डर' । यह बिल्ड ऑर्डर वह है जिसमें समाधान बनता है। प्रोजेक्ट की निर्भरता और बिल्ड ऑर्डर की जाँच करें कि क्या कुछ प्रोजेक्ट ('प्रोजेक्ट 1') जो अन्य पर निर्भर है ('प्रोजेक्ट 2') उस एक (प्रोजेक्ट 2) से पहले बनाने की कोशिश कर रहा है। यह त्रुटि का कारण हो सकता है।

  5. लापता .dll का पथ जांचें:

    लापता .dll का पथ जांचें। यदि पथ में स्थान या कोई अन्य अमान्य पथ वर्ण है, तो उसे निकालें और पुन: निर्माण का प्रयास करें।

    यदि यह कारण है, तो बिल्ड ऑर्डर को समायोजित करें।


धारा 2):

मेरा विशेष मामला:

मैंने विभिन्न चरणों और संयोजनों के साथ ऊपर दिए गए सभी चरणों को विज़ुअल स्टूडियो को कुछ बार पुनः आरंभ करने की कोशिश की। लेकिन, इससे मुझे कोई फायदा नहीं हुआ।

इसलिए, मैंने उस दूसरी त्रुटि से छुटकारा पाने का फैसला किया, जो मुझे आ रही थी ('सोर्स फाइल नॉट बी ओपन' ('अनिर्दिष्ट त्रुटि') ')।

मैं एक ब्लॉग पोस्ट पर आया था: TFS त्रुटि-स्रोत फ़ाइल को खोला नहीं जा सका ('अनिर्दिष्ट त्रुटि')

मैं चरण हैं, जो ब्लॉग पोस्ट में उल्लेख करने की कोशिश की, और मैं त्रुटि से छुटकारा मिला 'स्रोत फ़ाइल खोला नहीं जा सका (' अनिर्दिष्ट त्रुटि ')' और आश्चर्यजनक रूप से मैं अन्य त्रुटियों से छुटकारा मिला ( 'मेटाडाटा फ़ाइल नहीं पाया जा सका') के रूप में कुंआ।


धारा 3):

कहानी का नैतिक:

त्रुटि से छुटकारा पाने के लिए ऊपर (और किसी भी अन्य समाधान) अनुभाग (1) में वर्णित सभी समाधानों का प्रयास करें। यदि कुछ भी काम नहीं करता है, तो ऊपर दिए गए खंड (2) में उल्लिखित ब्लॉग के अनुसार, उन सभी स्रोत फ़ाइलों की प्रविष्टियों को हटा दें जो अब स्रोत नियंत्रण में मौजूद नहीं हैं और आपकी .csproj फ़ाइल से फ़ाइल सिस्टम।


4
मेरी समस्या बिल्ड ऑर्डर / प्रोजेक्ट डिपेंडेंसी थी। अन्य प्रोजेक्ट्स से संदर्भों को निकालना और जोड़ना यह सही होगा (मुझे लगता है) लेकिन आप इसे स्वयं भी कर सकते हैं।
नाच -

4
मैंने डाउन-ग्रेडिंग .NET v4.5प्रोजेक्ट द्वारा इस समस्या का सामना किया .NET v.4
गनियस 13

1
संदर्भित dll पथ से "%" निकालने से मुझे मदद मिली
Boogier

1
धारा 2 में समाधान मेरे लिए काम किया! मेरे पास एक और त्रुटि थी और जब मैंने तय किया कि दूसरों ने जादुई रूप से गायब कर दिया है।
मार्टिन जोहानसन

1
मेरे पास बूगीयर जैसा ही मुद्दा था। एक जगह के बजाय मेरे फ़ोल्डर नाम में एक% 20 था और dll एक स्थान की तलाश कर रहा था। अन्य सभी सुधारों की कोशिश में इतना समय लगा, जब वास्तविक सबसे सरल था।
लेनी के

38

मेरे मामले में यह .NET फ्रेमवर्क संस्करण बेमेल के कारण हुआ।

एक परियोजना 3.5 और दूसरी संदर्भ परियोजना 4.6.1 थी।


2
यह 4.5.2 बनाम के बीच भी होता है 4.6
अज़्ज़ामअज़ीज़

2
वास्तव में, मेरे पास 4.6.1 में से एक था और बाकी 4.5.2 था, धन्यवाद!
मेसन

7
हां, लगता है कि किसी भी समय एक फ्रेमवर्क संस्करण अलग है, ऐसा होता है। महान त्रुटि Microsoft!
एरिक श्नाइडर

हाँ! मैं .net 4.7.1 का उपयोग करने की कोशिश कर रहा था। जब मेरी परियोजना .net 4.6.1 थी। चेतावनी अन्य मदों द्वारा छिपाई गई थी, लेकिन इसके बारे में कोई त्रुटि नहीं थी। मेरी त्रुटि एक लाल हेरिंग थी
एसाथ

29

विजुअल स्टूडियो 2013 को बंद करना और फिर से खोलना मेरे लिए काम कर गया!


प्रोजेक्ट फ़ाइलों में परिवर्तन परिवर्तन के बाद इस समस्या को हल करें। VS2015 को फिर से शुरू किया और इस मुद्दे को हल किया
लुडोविक सी

इसे स्वीकृत उत्तर के रूप में चिह्नित किया जाना चाहिए। चेकबॉक्स को चेक / अनचेक करने में अधिक समय लगता है।
एलेक्स

1
अभी भी VS2019 के साथ यह समस्या है और यह मेरे लिए तय है, धन्यवाद
pcdev

20

ठीक है, पिछले उत्तरों में कुछ भी मेरे लिए काम नहीं किया, इसलिए मुझे यह सोचकर मिला कि मैं क्यों क्लिक कर रहा हूं और उम्मीद कर रहा हूं जब डेवलपर्स के रूप में हमें वास्तव में यह समझने की कोशिश करनी चाहिए कि यहां क्या हो रहा है।

मुझे यह स्पष्ट प्रतीत हुआ कि यह गलत मेटा डेटा फ़ाइल संदर्भ कहीं न कहीं होना चाहिए।

.Csproj फ़ाइल की त्वरित खोज ने दोषी पंक्तियों को दिखाया। मेरे पास एक आइटम था जिसे <itemGroup> कहा जाता था, जो पुराने गलत फ़ाइलपथ पर लटका हुआ प्रतीत होता था।

<ItemGroup>
    <ProjectReference Include="..\..\..\MySiteOld\MySite.Entities\MySite.Entities.csproj">
        <Project>{5b0a347e-cd9a-4746-a3b6-99d6d010a6c2}</Project>
        <Name>Beeyp.Entities</Name>
    </ProjectReference>
...

तो वास्तव में एक साधारण तय:

  1. अपनी .csproj फ़ाइल का बैकअप लें।
  2. .Csproj फ़ाइल में गलत रास्ते खोजें और उचित नाम बदलें।

कृपया सुनिश्चित करें कि आप बेला से पहले अपने पुराने .csproj का बैकअप लें


38
कृपया यह सुनिश्चित करें कि आप कुछ भी करने से पहले नियंत्रण का उपयोग करेंगे
svick

14

मैं इस समस्या से भी मिला। सबसे पहले आपको राइट-क्लिक करके, बिल्ड द्वारा DLL प्रोजेक्ट को मैन्युअल रूप से बनाना होगा। तब यह काम करेगा।


14
हालांकि यह फिक्स काम करता है, यह वास्तव में समस्या को ठीक नहीं करता है और अधिक अंतर्निहित समस्याओं को जन्म दे सकता है। सबसे पहले, यदि आप एक रिपॉजिटरी में कोड के साथ काम कर रहे हैं, तो कोड को एक बिंदु पर ले जाने के लिए एक नए डेवलपर की आवश्यकता है, जहां कोड का निर्माण होगा। सभी में से, संदर्भित परियोजना में परिवर्तन देखने के लिए, आपको हर बार मैन्युअल रूप से इसका पुनर्निर्माण करना होगा। कृपया समस्या के अधिक मजबूत समाधान के लिए मेरा उत्तर देखें।
मैट

मेरे मामले में, यह व्यक्तिगत रूप से परियोजना का निर्माण भी नहीं करता है, यह मुझे एक ही त्रुटि देता है। मान लीजिए कि मेरे प्रोजेक्ट का नाम "proj1" है, जब मैं इसे बनाता हूं (मैन्युअल रूप से जैसा आपने कहा) यह मुझे देता है Metadata file ...proj1.dll could not be found!
A-Sharabiani

14

मेरे मामले में, मेरे पास गलत तरीके से अपनी स्थापित निर्देशिका है।

यदि आपका समाधान पथ "मेरा प्रोजेक्ट% 2c बहुत लोकप्रिय% 2c इकाई परीक्षण% 2c सॉफ़्टवेयर और Hardware.zip" जैसा कुछ है, तो यह मेटाडेटा फ़ाइल को हल नहीं कर सकता है, शायद हमें% 2c जैसे कुछ अमान्य शब्दों को रोकना चाहिए।

सामान्य नाम से पथ का नामकरण करने से मेरी समस्या हल हो गई।


1
क्या आप अपने समाधान के बारे में थोड़ा और विवरण जोड़ते हुए अपने उत्तर को अधिक विस्तृत कर सकते हैं?
अबारीसोन

मेरे git क्लोन ने मेरे फ़ोल्डर पथ में% जोड़ दिया, जिससे समस्या हल हो गई।
एरिक बर्गस्टेड

@abarisone मैंने रास्ते से "% 2c" स्ट्रिंग को हटा दिया, फिर इसने काम किया
masphei

1
यह मेरी समस्या भी थी, जब मैंने एक साधारण स्थान के बजाय "% 20" का उपयोग करके इस परियोजना का नाम दिया। धन्यवाद @abarisone, आपके दृष्टिकोण ने मेरी समस्या हल कर दी।
एमए कॉर्डिएरो

जब मैंने टीएफएस से अपनी परियोजना का क्लोन बनाया तो इसमें किसी कारण से एक% 20 भी जोड़ा गया। मेरे लिए भी इस मुद्दे को हटाना
सेल्थिएन

13

मुझे वही त्रुटि मिली "मेटाडेटा फ़ाइल '.dll' नहीं मिली", और मैंने ऊपर वर्णित कई चीजों की कोशिश की, लेकिन त्रुटि का कारण यह था कि मैं तृतीय-पक्ष DLL फ़ाइल का संदर्भ दे रहा था जो .NET संस्करण को अधिक लक्षित कर रहा था कि मेरी परियोजना लक्ष्य .NET संस्करण। इसलिए समाधान मेरी परियोजना के लक्ष्य ढांचे को बदलने का था।


ठीक है, मैं उसी के बारे में जवाब देने वाला था, मेरे मामले में मैंने एक नया प्रोजेक्ट टारगेट जोड़ा है। नेट 4.5.x और यह तब होने लगा, जब उस प्रोजेक्ट को मैंने एक प्रोजेक्ट का संदर्भ जोड़ा, जो .Net 4.6 का उपयोग कर रहा था।
जुआन

11

विजुअल स्टूडियो 2019 ने मेरे लिए यह काम किया:

  1. Visual Studio को बंद करें
  2. छिपे हुए .vsफ़ोल्डर को हटाएं
  3. विजुअल स्टूडियो को फिर से खोलें और समाधान का पुनर्निर्माण करें।

बहुत-बहुत धन्यवाद, यह मेरे लिए काम करने के साथ-साथ एक और असफल निर्माण करने के बाद हुआ।
Iamsodarncool

धन्यवाद, इसने मेरे लिए यह किया।
इयाकप

10

मेरे लिए, यह एक पथ में एक DLL खोजने की कोशिश कर रहा था जिसमें परियोजना शामिल थी, लेकिन हम इसे एक नई निर्देशिका में स्थानांतरित कर देंगे। समाधान में प्रोजेक्ट के लिए सही रास्ता था, लेकिन विज़ुअल स्टूडियो किसी तरह पुराने स्थान को देखता रहा।

समाधान: प्रत्येक समस्या का नाम बदलें प्रोजेक्ट - बस एक चरित्र जोड़ें या जो भी हो - फिर इसे अपने मूल नाम पर वापस नाम दें।

यह विज़ुअल स्टूडियो में कुछ प्रकार के वैश्विक कैश को रीसेट करना होगा, क्योंकि यह इस मुद्दे को और इसके जैसे कई को साफ करता है, जबकि क्लीन जैसी चीजें नहीं हैं।


10

मैंने अपने समाधान में एक नई परियोजना जोड़ी और इसे प्राप्त करना शुरू कर दिया।

कारण? मेरे द्वारा लाया गया प्रोजेक्ट एक अलग .NET फ्रेमवर्क (4.6 और मेरे दो अन्य 4.5.2 थे) को लक्षित कर रहा था।


1
मुझे नहीं पता कि अब क्यों लेकिन मैं एक साल के लिए अपनी परियोजनाओं को ऐसे ही चला रहा था। मेरी उप परियोजना 4.6.1 थी और मुख्य परियोजना 4.5.2 थी। इसने बिना किसी समस्या के काम किया। अचानक मुझे यह त्रुटि मिल रही है, लेकिन मैं सब प्रोजेक्ट को डाउनग्रेड नहीं करना चाहता, क्योंकि इसमें ऐसी सुविधा है जो 4.6.1 में मौजूद है। मुझे नहीं लगता कि यह समस्या है। Microsoft बताते हैं कि यह अभी भी काम कर रहा है
बैटमैक

TLDR: संकलित चेतावनियों की जाँच करें। मेरे साथ भी यही हुआ लेकिन एक मोड़ के साथ। प्रोज 4.5.2 पर थे। 4.6 पर नई परियोजनाओं को जोड़ा। 4.6 परियोजनाओं पर नौगट पैकेज स्थापित किए। डाउनग्रेड की गई 4.6 परियोजनाएं 4.5.2 पर। Nugets 4.6 की उम्मीद कर रहे थे। गुत्थियों के हल निकले।
w00ngy

9

मेरे लिए यह तब हुआ जब मैंने एक समाधान के लिए एक नई परियोजना को शामिल किया।

Visual Studio स्वचालित रूप से .NET फ्रेमवर्क 4.5 का चयन करता है।

मैं अन्य पुस्तकालयों की तरह .NET 4.5.2 संस्करण में बदल गया, और यह काम किया।


8

मेरे लिए निम्न चरणों ने काम किया:

  • उस प्रोजेक्ट को खोजें जो निर्माण नहीं कर रहा है
  • समाधान के भीतर परियोजनाओं के संदर्भ निकालें / जोड़ें।

समाधान एक्सप्लोरर में संदर्भ "फ़ोल्डर" पर राइट क्लिक करें, "अप्रयुक्त संदर्भ निकालें"। मैंने इस समाधान में अपनी सभी परियोजनाओं पर यह किया, यह चाल
चली

8

मैं इस समस्या के साथ अपने बालों को भी बाहर निकाल रहा था, लेकिन पिछले उत्तरों की कोशिश करने के बाद केवल एक चीज जो मेरे लिए काम करती थी, वह थी कि मैं अपने हल 1 में प्रत्येक परियोजना को 1 से खोलकर व्यक्तिगत रूप से बनाऊं।

फिर मैंने विजुअल स्टूडियो 2013 को बंद कर दिया, मेरे समाधान को फिर से खोल दिया और इसे ठीक संकलित किया।

यह अजीब है, क्योंकि अगर मैंने अपने समाधान एक्सप्लोरर में प्रत्येक परियोजना पर क्लिक किया और उन्हें इस तरह से बनाने की कोशिश की, तो वे सभी विफल हो गए। मुझे उन्हें अकेले अपने हल में खोलना पड़ा।


1
ऊ, यह। Microsoft को फिर से काम करने के लिए कई चीजों की आवश्यकता होती है।
यट्रिक्स

8

यह इस तरह की त्रुटियों से संबंधित है कि विज़ुअल स्टूडियो किसी त्रुटि के बारे में सही जानकारी प्रदान नहीं करता है। डेवलपर भी असफल निर्माण का कारण नहीं समझता है। यह एक वाक्यविन्यास त्रुटि या कुछ और हो सकता है। सामान्य तौर पर, ऐसी समस्याओं को हल करने के लिए आपको समस्या की जड़ का पता लगाना चाहिए (उदाहरण के लिए, बिल्ड लॉग को देखें)।

मेरे मामले में समस्या वास्तव में यह थी कि Error Listखिड़की में कोई त्रुटि नहीं थी। लेकिन वास्तव में वाक्यविन्यास त्रुटियां थीं; मुझे Outputविंडो में ये त्रुटियां मिलीं , और उन्हें ठीक करने के बाद, समस्या हल हो गई।


मैंने इस समस्या का भी अनुभव किया। त्रुटि सूची में कोई त्रुटि नहीं थी, लेकिन DevOps में विफल निर्माण परिणामों ने त्रुटि दिखाई
amartin

7

समस्या का मेरा उदाहरण एक सामान्य परियोजना के कारण था जिसमें एक डुप्लीकेट क्लास का नाम (एक अलग फ़ाइलनाम के तहत) था। यह अजीब बात है कि विज़ुअल स्टूडियो इसका पता नहीं लगा सका और इसके बजाय निर्माण प्रक्रिया को उड़ा दिया।


क्या यह एक टिप्पणी, एक उत्तर या एक नया प्रश्न है? इसके अलावा, ध्यान दें कि ओपी 2009 से है
gmo

8
यह उसी समस्या का एक अतिरिक्त समाधान है। मुझे पता है कि ओपी पुराना है, लेकिन पिछले कुछ पदों के आधार पर, लोग अभी भी अन्य कारणों का पता लगा रहे हैं। बस अगले आदमी को कुछ हताशा को बचाने की कोशिश कर रहा है क्योंकि किसी भी अन्य समाधान ने मेरे लिए भी काम नहीं किया है।
एरिक

4
मैं किसी की प्रतिक्रिया की आलोचना नहीं कर रहा हूं, बस एक ही लक्षण के लिए वैकल्पिक समाधान की पेशकश कर रहा हूं।
एरिक

7

मुझे यह समस्या विज़ुअल स्टूडियो 2012 में एक समाधान में मिली जिसमें कई परियोजनाएं थीं। मैन्युअल रूप से एक ही क्रम में समाधान में प्रत्येक परियोजना का पुनर्निर्माण प्रोजेक्ट बिल्ड ऑर्डर (समाधान एक्सप्लोरर में राइट-क्लिक और पुनर्निर्माण) ने मेरे लिए इसे निर्धारित किया।

आखिरकार मुझे एक मिल गया जिसने मुझे एक जटिल त्रुटि दी। मैंने त्रुटि को ठीक किया, और समाधान उसके बाद सही तरीके से निर्माण करेगा।


मेरे मामले में, त्रुटि तब तक छिपी रही जब तक मैंने विजुअल स्टूडियो 2015 को व्यवस्थापक मोड में नहीं खोला। तभी यह संकलन त्रुटि दिखा। उसे ठीक करने के बाद, मैं जारी रख सकता था।
एसएल बार्थ - मोनिका

6

मेरे मामले में मुद्दा यह था कि मैंने एक गैर-संकलन फ़ाइल को मैन्युअल रूप से हटा दिया था जिसे "लापता" के रूप में चिह्नित किया गया था। एक बार जब मैंने अब गायब फ़ाइल का संदर्भ हटा दिया और फिर से जोड़ दिया - तो सब ठीक था।


6

यदि आपके समाधान नाम में जगह है, तो यह भी समस्या का कारण होगा। आपके समाधान नाम से स्थान को हटा देना, इसलिए पथ में% 20 नहीं है, इससे समाधान होगा।


आप जीनियस हैं!!
इटाराम

मुझे आपकी टिप्पणी देखने से पहले यह पता नहीं चला। लेकिन यह मेरा मुद्दा था।
एल जॉन्सन

6

कुछ साल बाद यह वापस आ रहा है, यह समस्या विंडोज की अधिकतम पथ सीमा से संबंधित संभावना से अधिक है:

नामकरण फ़ाइलें, पथ, और नाम स्थान , अधिकतम पथ लंबाई सीमा


जो है...? 260? या थोड़ा कम (व्यवहार में)?
पीटर मोर्टेंसन

6

मेरे मामले में, समस्या एक साधारण बिल्ड त्रुटि के कारण हुई,

त्रुटि CS0067: घटना 'XYZ' का उपयोग कभी नहीं किया जाता है

किसी भी कारण से, त्रुटि विंडो में नहीं दिखा।

उसके कारण, Visual Studio बिल्ड सिस्टम को त्रुटि याद आती है और निर्भर प्रोजेक्ट्स बनाने की कोशिश की जाती है, जो बदले में कष्टप्रद मेटाडेटा संदेश के साथ विफल हो गया।

यह एक बेवकूफ की सिफारिश है क्योंकि यह ध्वनि हो सकता है:

सबसे पहले अपने आउटपुट विंडो को देखें !

यह विचार मुझे मारने से पहले मुझे आधे घंटे का समय लगा ...


मुझे लगता है कि हर किसी को इस जवाब को देखना चाहिए। बिल्ड आउटपुट विंडो में देखें और देखें कि क्या वहां कोई त्रुटि या चेतावनी है और फिर उन्हें ठीक करें। समस्या सुलझ गयी। धन्यवाद हेंज केसलर आपके उत्तर के लिए।
कप्तान अमेरिका

5

मेरी भी वही त्रुटि थी। यह नीचे के मार्ग के रूप में छुपाता है। जिस पथ को मैंने DLL फ़ाइल के लिए संदर्भित किया है वह "D: \ Assemblies Folder \ Assembly1.dll" की तरह है।

लेकिन मूल पथ जिसमें असेंबली का उल्लेख किया गया था, वह "D: \ Assemblies% 20Folder \ Assembly1.dll" था।

इस पथ नाम भिन्नता के कारण, सभा को उसके मूल पथ से पुनर्प्राप्त नहीं किया जा सका और इसलिए "मेटाडेटा नहीं मिला" त्रुटि फेंकता है।

समाधान स्टैक ओवरफ्लो प्रश्न में है मैं C # में% 20 के साथ सभी रिक्त स्थान कैसे बदलूं ?


5

मैं एक ही समस्या का सामना करना पड़ा। मेरे मामले में मैं अपनी परियोजना की तुलना में उच्च .Net संस्करण के साथ एक वर्ग पुस्तकालय परियोजना का संदर्भ देता था और वी.एस.

मैंने बस अपनी कक्षा की लाइब्रेरी परियोजना के .Net संस्करण (एक जिसने निर्माण को तोड़ा है) को संदर्भित परियोजना के .Net संस्करण और समस्या हल के समान सेट किया था।


1
इस!!! जबकि उपर्युक्त उत्तर अच्छा था, यह कुछ ऐसा था जिसे मैंने पूरी तरह से अनदेखा कर दिया था। धन्यवाद सर जी।
Rhys जॉन्स

@RhysJohns खुश कोडिंग :)))
Code_Worm

4

बस स्पष्ट रूप से स्पष्ट होने की ओर इशारा करते हुए: यदि आपके पास "निर्माण प्रारंभ होने पर आउटपुट विंडो न दिखाएं" सक्षम है, तो सुनिश्चित करें कि आप सूचित कर रहे हैं कि क्या आपका निर्माण विफल हो रहा है (निचले हिस्से में छोटी "बिल्ड विफल" त्रुटि) !!!!


मेरे पास हाल ही में कुछ ऐसा ही था - नीले रंग से, त्रुटि लॉग में सैकड़ों cs0006 त्रुटियां हैं, लेकिन कुछ और नहीं (और मैंने इसे बहुत बढ़िया कंघी के माध्यम से कंघी की)। आखिरकार (!) मैंने आउटपुट विंडो को देखने के बारे में सोचा, और एक संकलक त्रुटि की सूचना दी गई थी, और कोड में पर्याप्त यकीन था कि त्रुटि के तहत एक लाल स्क्वीगल था। मुझे नहीं पता कि त्रुटि त्रुटि विंडो में रिपोर्ट क्यों नहीं की गई थी। VS2017 एंटरप्राइज।
ह्यूस्टनटनस

4

मुझे यह त्रुटि तब हुई जब मैं एक वेब एप्लिकेशन प्रकाशित करने का प्रयास कर रहा था। यह पता चला कि एक वर्ग गुण में लिपटे हुए थे

#if DEBUG
    public int SomeProperty { get; set; }
#endif

लेकिन संपत्ति का उपयोग नहीं था। DEBUGस्पष्ट रूप से प्रतीक के बिना रिलीज़ कॉन्फ़िगरेशन में प्रकाशन किया गया था ।


4

त्रुटि संदेश के आधार पर मुझे विश्वास नहीं होता कि फ़ाइल पथ को छोटा किया जा रहा है। यह सिर्फ गलत लगता है। अगर मैं संदेश को सही ढंग से पढ़ रहा हूँ तो प्रतीत होता है कि वह DLL फ़ाइल की तलाश में है ...

काम = - \ उपकरण \ VersionManagementSystem \ BusinessLogicLayer \ बिन \ डीबग \ BusinessLogicLayer.dll

यह मान्य पथ नहीं है। क्या यह संभव है कि आपके पास अमान्य मान पर सेट बिल्ड प्रक्रिया में मैक्रो परिभाषा हो?


मैं नहीं जानता कि कैसे मैंने कुछ भी नहीं बदला है और कोई भी कस्टम बिल्ड ईवेंट या कॉन्फ़िगरेशन नहीं है
ओलिवर

4

मेरे पास यह मुद्दा .nuget\NuGet.exeथा क्योंकि मेरे भंडार में शामिल नहीं था। हालांकि मैंने DownloadNuGetExeNuGet.targets में सक्षम किया है, इसे डाउनलोड करने की कोशिश करते समय एक प्रॉक्सी त्रुटि की सूचना दी। इसके कारण बाकी प्रोजेक्ट विफल हो गए।


4

यदि आप नकली असेंबलियों का उपयोग करते हैं तो यह त्रुटि दिखाई जा सकती है। फेक हटाने से प्रोजेक्ट का सफल निर्माण होता है।


एक "नकली विधानसभा" क्या है? क्या आप विस्तार से समझा सकते हैं? (अपने जवाब का विस्तार करके जवाब दें।)
पीटर मोर्टेंसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.