बिना किसी त्रुटि या चेतावनी के असफल का कारण कैसे खोजें


145

मेरे पास एक WebApplication है जिसमें WCF सेवाओं का संदर्भ है।

Visual Studio 2010 का उपयोग करते समय, बिल्ड बिना किसी त्रुटि या चेतावनी के विफल हो जाता है। हालांकि .csprojउपयोग MsBuildका निर्माण सफल है।

समस्या का समाधान / निदान करने के लिए मुझे विजुअल स्टूडियो में क्या प्रयास करना चाहिए, इसका पता नहीं लगा सकते। क्या आप कृपया मदद कर सकते हैं?

संपादित करें:

मुझे पता चला कि निर्माण विफल रहा है,

  1. स्थिति पट्टी में प्रदर्शित पाठ से।
    यहां छवि विवरण दर्ज करें

  2. आउटपुट विंडो से:

    ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

5
आप कैसे जानते हैं कि आपका निर्माण विफल हो रहा है?
सैम मैं कह रहा हूं कि

5
क्या आउटपुट टैब में कुछ है?
मैलिस

15
Visual Studio में आउटपुट विंडो की वर्बोसिटी को बढ़ाने का प्रयास करें। यह समस्या को निर्धारित करने में मदद कर सकता है। वर्बोसिटी लेवल कैसे बढ़ाएँ: blogs.msdn.com/b/saraford/archive/2008/10/07/…
Maxim Kornilov

6
क्या आपने VS2010 को फिर से शुरू करने या अपने पीसी को रिबूट करने की कोशिश की है?
कॉमकेम

2
@NahuelI। मुझे इसी तरह की समस्या एक बार फिर से एक अन्य परियोजना में मिली, जब मैंने स्टैकओवरफ़्लो की खोज की तो मुझे अपना सवाल वापस मिल गया :-)
अभिजीत

जवाबों:


120

मैं बस एक समान स्थिति में भाग गया। मेरे मामले में, एक कस्टम क्रिया (MSBuildVersioning पैकेज से Nuget.org पर उपलब्ध - http://www.nuget.org/packages/MSBuildVersioning/ ) जो कि csproj फ़ाइल के FirstBuild लक्ष्य में दिखाई दी, बिना किसी त्रुटि संदेश को ट्रिगर किए बिना विफल हो रही थी। सामान्य जगह।

मैं "MSBuild प्रोजेक्ट बिल्ड आउटपुट वर्बोसिटी" (नवीनतम विज़ुअल स्टूडियो के टूल टैब [पथ: टूल> विकल्प> बिल्ड और रन ]) को " डायग्नोस्टिक " में नीचे बताए अनुसार निर्धारित करके यह निर्धारित करने में सक्षम था । इसके बाद पता चला कि कस्टम एक्शन (मेरे मामले में HgVersionFile) क्या विफल रहा था।

दृश्य स्टूडियो से स्क्रीन पर कब्जा संशोधित सेटिंग दिखा रहा है।


2
बहुत बढ़िया मिल रिचर्ड - वास्तव में उपयोगी जानकारी जब आप निदान के लिए दोनों क्रिया स्तर निर्धारित करते हैं
दाई बो

3
किसी के लिए जो मेरे जैसा क्लूलेस है: इस पद्धति का उपयोग करने के लिए आपको आउटपुट विंडो की सामग्री को खोजना पड़ सकता है। मेरी बिल्ड त्रुटियां #pragma warning disableबयानों द्वारा छिपाई जा रही थीं और केवल तब दिखाई दे रही थीं जब मैंने आउटपुट विंडो में 'एरर' खोजा था।
सिरदंक १६

डायग्नोस्टिक के लिए मेरी वाचालता स्थापित करने के बाद, मुझे पता चला कि मुझे एक System.OutOfMemoryException मिल रहा है। मैं अपने कंप्यूटर की उपलब्ध मेमोरी का 98% उपयोग कर रहा था। यह एक महान जवाब है!
TxRegex

1
यह VisualStudio 2017 पर भी समस्या को हल करता है। बहुत बहुत धन्यवाद।
एच। आइडिन

1
मेरे लिए मैं टीएफएस पर निर्माण करने के लिए क्यू न्यू बिल्ड का उपयोग कर रहा था और क्यू बिल्ड बिल्ड डायलॉग के दूसरे टैब पर एक वर्बोसिटी है जिसे मैं बदल सकता था और फिर बिल्ड लॉग में समस्या देख सकता था।
एरोनल्स

135

बिल्ड + Intellisense त्रुटि संदेशों को निगल लिया। बिल्ड का चयन करना केवल उन्हें प्रदर्शित करता है।

स्क्रीनशॉट


बस उस स्थिति में आ गया, जहाँ इनमें से कोई भी त्रुटि नहीं दिखाता है :(
इमाद

1
वाह, यह मेरे लिए काम किया कि कैसे बिल्ली में यह वीएस 2019 के नए संस्करण में एक चीज है। धन्यवाद दोस्त!
कार्टर

1
@AbuAbdullah ने मेरे लिए काम किया। दूसरों की मदद करने में अच्छा काम।
nam

धन्यवाद, मेरा दिन बचा लिया
बिक्रम लिंबू

59
  • यदि समाधान में एक से अधिक प्रोजेक्ट हैं, तो उन्हें एक समय में एक बनाने का प्रयास करें।
  • Visual Studio को पुनरारंभ करने का प्रयास करें।
  • कंप्यूटर को पुनरारंभ करने का प्रयास करें।
  • प्रयास करें " पुनर्निर्माण सब "
  • " क्लीन सॉल्यूशन " आज़माएं और फिर अपनी " vspscc " फाइल्स और " vssscc " फाइल्स को हटा दें और फिर Visual Studio को रिस्टार्ट करें और फिर " All पुनर्निर्माण करें "।

105
और जब यह मदद नहीं करता है तो क्या मुझे एक नई नौकरी ढूंढनी चाहिए?
एलेक्स

2
VS2013 को फिर से शुरू करने से मुझे मदद मिली। मैं सीमित संसाधनों के साथ एक वीएम पर काम कर रहा था, लेकिन मुझे यकीन नहीं है कि इसके साथ कुछ भी करना था।
जम्मौरियर

2
यदि आप इस समस्या को हल कर रहे हैं, तो आप समाधान को साफ़ नहीं कर सकते।
एच।

1
किसने मेरी मदद की वीएस के सभी उदाहरणों को बंद करने (दोषपूर्ण को बंद करने के लिए पर्याप्त नहीं), और फिर .vsफ़ोल्डर को हटा दें और वीएस को फिर से शुरू करें।
एलिसेर

22

वीएस (2013 प्रो, विन 8.1) ने इसे मेरे लिए फिर से शुरू किया।


वीएस 2015 एक सिंगल एमवीसी प्रोजेक्ट के साथ कम्युनिटी विन 7। वही संकल्प।
19

2
वीएस 2017 कम्युनिटी विन 10. मुझे लगता है कि मुझे समाधान खोजने से पहले इसे बंद करने की कोशिश करनी चाहिए!
ड्रीमटाइक


9

मैं सास के जवाब पर विस्तार करना चाहता हूं ।

विजुअल स्टूडियो 2015 अपडेट 2 के साथ समस्या को ठीक करने के लिए मुझे एक बार में प्रत्येक प्रोजेक्ट का निर्माण करना था और प्रत्येक निर्माण के बाद आउटपुट विंडो को देखना होगा।

एक प्रोजेक्ट ने मुझे दिया

"प्रकार या नाम स्थान का नाम 'SomeNamespace' नामस्थान में मौजूद नहीं है 'पहले का नाम' (क्या आप असेंबली संदर्भ याद कर रहे हैं?)"।

त्रुटि सूची विंडो में कोई त्रुटि नहीं थी, लेकिन विधानसभा में "संदर्भ" के तहत एक पीला चेतावनी संकेत था।

मैंने तब देखा कि संदर्भित परियोजना ने 4.5.1 और संदर्भित परियोजना 4.6.1 को लक्षित किया। 4.6.1 से 4.5.1 बदलने से समग्र निर्माण सफल हुआ।


1
ठीक है, एक समय में एक परियोजना का निर्माण करना आवश्यक नहीं हो सकता है, लेकिन एक बात सुनिश्चित करने के लिए है: ध्यान से आउटपुट विंडो को देखें (बेहतर अभी तक कॉपी / पेस्ट करें और इसे नोट करने के लिए Ctrl + F खोज का उपयोग करें) "लापता" शब्द के लिए। यह त्रुटियों की सूची में दिखाई नहीं दे रहा है, लेकिन यह निश्चित है कि नरक आपके समाधान को तोड़ देगा। -.-
डोविडास नेविकास

5

मेरे लिए कुछ भी काम नहीं कर रहा था इसलिए मैंने .so फाइल को डिलीट कर दिया, वी.एस. को फिर से शुरू किया, प्रोजेक्ट को साफ किया और फिर बिल्ड काम करेगा।


5

लगता है कि इस प्रश्न के कई उत्तर हैं, इसलिए मैं व्यक्तिगत अनुभव से यह उम्मीद करूंगा कि यह किसी को समय / तनाव से बचाएगा।

सुनिश्चित करें कि आपके समाधान की सभी परियोजनाएँ उसी .NET संस्करण को लक्षित कर रही हैं।

ओपी के समान, 0 त्रुटियां थीं, लेकिन निर्माण विफल रहा। हालांकि, एक चेतावनी प्रविष्टि थी (कई सौ बेकार XML चेतावनियों के बीच दफन ...) यह कहते हुए कि एक परियोजना एक अलग .NET संस्करण को लक्षित कर रही थी जो उस परियोजना की तुलना में अलग थी। पूरा मुद्दा यह था कि मेरे समाधान के भीतर एक परियोजना .NET 4.5.2 को लक्षित कर रही थी, जब बाकी 4.5.1 को लक्षित कर रहे थे। यह होना चाहिए इस विसंगति (इसलिए कारण है कि यह सिर्फ एक चेतावनी थी) लेकिन दुर्भाग्य से, यह निर्माण को तोड़ दिया साथ भी काम करते हैं।

अजीब बात यह थी कि यह कुछ समय के लिए ठीक से बना / चला था, लेकिन अचानक एक बार इस समस्या के कारण निर्माण विफल होने लगा। निश्चित नहीं है कि मैंने इसके लिए क्या किया था। मैं अलग-अलग .NET लक्ष्य संस्करणों के बारे में शिकायत करना शुरू कर रहा हूं, लेकिन मुझे लगता है कि Visual Studio में बस कुछ रहस्य हैं जो कभी हल नहीं होंगे।


1
यह बताता है कि मैंने एक नई परियोजना जोड़ी थी और इसका एक अलग .Net लक्ष्य ढांचा संस्करण था - मैंने तय किया कि और, हालांकि निर्माण अभी भी विफल रहा है, फिर मैं उस त्रुटि को देखने में सक्षम था जो निर्माण को तोड़ रही थी। धन्यवाद।
फ़िजीत


3

सबसे पहले "समाधान को साफ करें", फिर सोलन का पुनर्निर्माण करें।

यदि समाधान बंद नहीं होगा और समाधान को पुनरारंभ करें।

इन चीजों को आजमाएं, उम्मीद जरूर काम करती है।


3

अन्य संभावना पर यह है कि विजुअल स्टूडियो को प्रशासक के रूप में चलाने की आवश्यकता है, यह स्थानीय IIS सर्वर या अन्य परिनियोजन की आवश्यकता को लागू करने से संबंधित हो सकता है।


3

यह तब हो सकता है जब संदर्भित परियोजनाओं में से एक आपके वर्तमान प्रोजेक्ट की तुलना में .NET फ्रेमवर्क का एक उच्च संस्करण है।


3

मुझे भी यही समस्या थी और मैंने इस समस्या को त्रुटि सूची विकल्पों में खोजा "बिल्ड + इन्टेलिसेन्स" के लिए ट्रेस किया।

यदि यह विकल्प चुना जाता है, तो सूची में कोई त्रुटि नहीं दिखाई देती है। " केवल निर्माण " पर स्विच करें और त्रुटियां अपेक्षित रूप से प्रकट होती हैं।

इसका दृश्य Visual Studio के बग जैसा है। दृश्य स्टूडियो को पुनरारंभ करने से इस समस्या का समाधान हो गया


2

मेरे समाधान में एक नई परियोजना (जिसे "TestCleaner" कहा जाता है) को जोड़ने के बाद मुझे एक समान समस्या थी: बिल्ड विफल, कोई त्रुटि नहीं।

मैंने आउटपुट वर्बोसिटी (रिचर्ड जे फोस्टर के निर्देशों को देखें) में वृद्धि की और "असफल" के लिए आउटपुट खोजा। मुझे जल्दी से पता चला कि कौन सा प्रोजेक्ट विफल हो रहा था, और क्यों: प्रोजेक्ट "टेस्टरनर" " CS0246: त्रुटि के साथ विफल हो गया था" टाइप या नाम स्थान का नाम 'टेस्ट क्लीनेर' नहीं मिल सका " (भले ही कोड में कोई समस्या उजागर नहीं की गई थी)।

TestRunner के संदर्भों की जाँच करना, निश्चित रूप से TestCleaner के संदर्भ को पर्याप्त रूप से अनसुलझे के रूप में चिह्नित किया गया था, और पथ संदर्भ गुणों से गायब था। हटाने और पुनः जोड़ने से इसे ठीक नहीं किया गया। फिर, कोई स्पष्टीकरण क्यों।

अनसुलझे संदर्भ

मैंने आखिरकार इस कारण की खोज की: "TestCleaner" अन्य परियोजनाओं के लिए एक अलग लक्ष्य रूपरेखा का उपयोग कर रहा था। यह .Net 4.5.2 था; अन्य 4.5 थे।


2

बस पूरा करने और शायद भविष्य में फिर से उसी त्रुटि का सामना करने में किसी की मदद करने के लिए, मैं महाप्स मेट्रो इंटरफ़ेस का उपयोग कर रहा था और एक खिड़की के एक्सएएमएल को बदल दिया, लेकिन कोड-पीछे में आंशिक वर्ग को बदलना भूल गया। उस स्थिति में, त्रुटि या चेतावनी के बिना बिल्ड विफल हो गया, और मैं इसे सेटिंग्स से आउटपुट की वर्बोसिटी बढ़ाकर पता लगाने में सक्षम था:

त्रुटि फलक

आउटपुट फलक


5
त्रुटियों के फिल्टर में 'बिल्ड नॉट' बिल्ड 'इंटेलीजेंस' का भी चयन करें।
नीको

2

मुझे भी यही समस्या थी। त्रुटि सूची विंडो में 2 ड्रॉपडाउन हैं "द्वारा प्रदर्शित आइटम दिखाएँ" और "जनरेट किए गए मुद्दे दिखाएं"। ये नाम ड्रॉपडाउन पर मंडराने के बाद दिखाई दे रहे हैं। "शो इश्यू जनरेट" ड्रॉपडाउन को "बिल्ड + इंटेलीजेंसी" पर सेट किया गया था और "बिल्ड ओनली" में बदलने के बाद सूची में त्रुटियां दिखाई दीं।


2

मेरे लिए, Target Frameworkयह मुद्दा था।

मेरी परियोजना Target Frameworkथी 4.5.2और संदर्भित परियोजना की Target Frameworkथी 4.6.1

एक बार जब मैंने अपने प्रोजेक्ट को अपडेट Target Frameworkकिया 4.6.1, तो समस्या ठीक हो गई।


1

मैंने उसी समस्या का सामना किया! बस बिन फ़ोल्डर हटाएं और अपना पुनः आरंभ करें VS। बस इतना ही। में परीक्षण किया गया VS 2013


जब मैंने इसे हटाकर बिन और ओबीज फ़ोल्डर को हल करने का प्रयास किया, तो इसे ठीक कर दिया। इसके अलावा, मुझे obj फ़ोल्डर को हटाने के लिए व्यवस्थापक अधिकारों की आवश्यकता थी इसलिए कुछ बहुत ही अजीब हुआ था।
DAG

1

मेरे लिए इसका हल क्या था .vs से समाधान की जड़ से फ़ोल्डर और विज़ुअल स्टूडियो को फिर से शुरू किया गया।

शायद यह कहना भी महत्वपूर्ण है कि भले ही त्रुटियां त्रुटि सूची फलक में नहीं दिख रही थीं, फिर भी वे बिल्ड से आउटपुट में मौजूद थीं।


1

Powershell कमांड लाइन से अपनी परियोजना बनाने की कोशिश करें:

dotnet build

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


0

यह एक asp.net प्रोजेक्ट में एक नया पृष्ठ जोड़ने के बाद मेरे साथ हुआ।

मैंने जो किया वह पृष्ठ से बाहर हो गया, इसे फिर से सफलतापूर्वक बनाने के लिए प्राप्त करें।

फिर मैंने उस पृष्ठ को वापस जोड़ा जिसमें सभी कोड टिप्पणी किए गए थे। सफलता।

फिर मैंने बिट द्वारा कोड को थोड़ा असहज किया और फिर यह सब काम किया।


0

मुझे कुछ रूपों को हटाने के बाद भी यही समस्या थी। एक बार जब मैं कोड में जाता था, तो त्रुटियां पॉप अप हो जाती थीं और मेरे द्वारा हटाए गए नियंत्रणों में से एक के लिए "शो परिभाषा" करता था।

मैं अपनी परियोजनाओं में से एक पर एक उच्च ढांचे को भी लक्षित कर रहा था, ताकि यह मुद्दा भी हो।


0

मैंने सभी की कोशिश की है, लेकिन मेरे मामले में कुछ भी काम नहीं किया है तो मैंने इन उल्लिखित सेटिंग्स को बदल दिया है जो मेरे लिए समस्या को काफी अच्छी तरह से हल करता है। यदि यह किसी भी बाद वाले दर्शकों की मदद कर सकता है तो कोशिश करें। ये सेटिंग्स आपकी स्थिति में भिन्न हो सकती हैं, लेकिन सुनिश्चित करें कि प्रारंभ में रखी गई समान कॉन्फ़िगरेशन सेटिंग्स (छवि में उल्लिखित) के साथ सभी DLL शामिल करें।कॉन्फ़िगरेशन सेटिंग्स

छवि यहाँ।

चीयर्स!


0

यदि nuget पैकेज 'Microsoft.Net.Compilers' स्थापित है, तो सुनिश्चित करें कि यह आपके विज़ुअल स्टूडियो (बिल्ड टूल्स संस्करण) के संस्करण के अनुरूप है।

संस्करण 1.x का मतलब C # 6.0 (विजुअल स्टूडियो 2015 और अपडेट) है। मसलन, 1.3.2

यदि आप VS2015 का उपयोग करते हैं तो 1.x से ऊपर के संस्करण में अपग्रेड न करें

https://stackoverflow.com/a/44397905/3862615


0

पुरानी मशीन पर मेरा वास्तव में पुराना प्रोजेक्ट था। जब मैं मशीन बंद कर रहा था तो प्रोजेक्ट सही तरीके से बन रहा था। आज, मुझे बिल्ड एरर मिल रहा है लेकिन कोई त्रुटि संदेश नहीं। ऊपर से कुछ सुझाव की कोशिश करने के बाद, कोई भाग्य नहीं।

विज़ुअल स्टूडियो 2015 में, मैंने टूल्स> विकल्प> प्रोजेक्ट्स एंड सोल्यूशन्स> बिल्ड एंड रन के तहत विस्तृत MSBuild चालू किया

इसने मुझे बिल्ड के बारे में कुछ जानकारी दी लेकिन कोई त्रुटि नहीं हुई। उसके बाद मैंने एक्सटेंशन और अपडेट (टूल> एक्सटेंशन और अपडेट) की जांच करने की कोशिश की और उनमें से कुछ को अपडेट करने की जरूरत पड़ी।

नगेट पैकेज अपराधी था, नुगेट को अपडेट करने के बाद - बिल्ड सफल है।

यहां छवि विवरण दर्ज करें



0

चूंकि सब कुछ काम नहीं करता था, इसलिए पाया गया कि प्रोजेक्ट को समाधान (.sln) के रूप में खोलते समय त्रुटियाँ दिखाई नहीं देती हैं, जबकि प्रोजेक्ट को प्रोजेक्ट के रूप में खोलते समय त्रुटि दिखाई देती है।


0

मेरे पास एक ही मुद्दा था, मैंने टूल्स -> विकल्प -> प्रोजेक्ट्स और सॉल्यूशंस / बिल्ड एंड रन -> MSBuild प्रोजेक्ट लॉग फाइल वर्बोसिटी [ डायग्नोस्टिक ] को बदल दिया। यह विकल्प लॉग में त्रुटि दिखाता है, कुछ कारणों से मेरे वीएस एरर्स टैब में त्रुटि नहीं दिखा रहे हैं!

यहां छवि विवरण दर्ज करें

ऊपर सेटिंग्स और आउटपुट कॉपी में नोटपैड / टेक्स्टेडिटर में करें और त्रुटि के लिए खोजें। यह आपको सभी त्रुटियां दिखाएगा।


0

विज़ुअल स्टूडियो को फिर से शुरू करना मेरे लिए काम कर गया। सामान्य रूप से विज़ुअल स्टूडियो को पुनः आरंभ करने का प्रयास करें (व्यवस्थापक के रूप में नहीं चलाएँ)। सिस्टम को पुनरारंभ करने का प्रयास करें और चरण से ऊपर दोहराएं।


0

इस लक्षण को पुन: पेश करने का एक अलग तरीका:

मैंने एक मौजूदा समाधान में एक नई परियोजना को जोड़ा और निर्माण आउटपुट में "टाइप या नेमस्पेस नाम एक्स नहीं मिल सका ..." जैसी त्रुटियों की रिपोर्ट की, लेकिन त्रुटि सूची में कोई त्रुटि प्रस्तुत नहीं की गई।

जिन कक्षाओं को मैंने संदर्भित किया था, वे उसी समाधान में अन्य परियोजनाओं (जो संदर्भित थे) में थे।

यह पता चला कि मैंने गलती से नए प्रोजेक्ट में .net का एक पूर्व संस्करण चुना था। एक बार जब मैं अन्य परियोजनाओं के समान संस्करण में बदल गया, तो बिना किसी त्रुटि के सब कुछ बनाया गया।

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