सवाल विजुअल स्टूडियो 2015: इंटेलिजेंस त्रुटियां लेकिन समाधान संकलन


वर्तमान में हम नए विजुअल स्टूडियो 2015 का मूल्यांकन कर रहे हैं और इंटेलिजेंस के साथ एक अजीब समस्या का सामना कर रहे हैं। जब मैंने नए स्टूडियो के साथ हमारा मुख्य समाधान संकलित किया तो निर्माण सफल हुआ, लेकिन फिर भी 6 त्रुटियां दिखाई गईं।

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

सभी 6 त्रुटियों में एक ही उत्पत्ति है। यह एक साधारण कन्स्ट्रक्टर कॉल है। काफी अजीब है, लेकिन बिना किसी त्रुटि के सटीक उसी कन्स्ट्रक्टर की कुछ घटनाएं भी हैं।

त्रुटि संदेश:

Code: CS1729
Message: '<the class>' does not contain a constructor that takes that many arguments.
Project: <the project name>
File: <the path to the file>

नया स्टूडियो बिना किसी विरासत सॉफ्टवेयर (कोई वीएस 13) के बिना ताजा स्थापित विंडोज 7 पर स्थापित किया गया था।

मैंने पहले ही कैश को साफ़ करने की कोशिश की है, सुओ फ़ाइल हटा दी है, हटाए गए बिन और ओबीजे निर्देशिकाएं, समाधान को साफ और पुनर्निर्मित किया है। लेकिन कुछ भी काम नहीं किया।

क्या कोई मुझे उस व्यवहार को समझा सकता है?


76
2017-08-11 13:49


मूल


इंटेलिजेंस द्वारा उपयोग किया जाने वाला पार्सर वास्तव में कोड को संकलित करने के लिए उपयोग किए जाने वाले कंपाइलर जैसा नहीं है। - chill
यह वीएस 2013 पर भी होता है। यह हो सकता है कि वीएस ने अभी तक पूरे कोड बेस को अनुक्रमणित नहीं किया है। यदि यह अपेक्षित रूप से संकलित और काम करता है, तो मैं इसका कोई ध्यान नहीं दूंगा। - Code Different
वीसी2015 में @chill यह Roslyn का हिस्सा, एक ही पार्सर होना चाहिए। - Lasse Vågsæther Karlsen
क्या आप एक छोटी परियोजना बना सकते हैं जो समस्या को पुन: उत्पन्न करती है? यदि हां, तो क्या आप कोड पोस्ट कर सकते हैं? - Lasse Vågsæther Karlsen
कक्षा आंशिक है, या संकलित समय पर उत्पन्न इसका कोई हिस्सा है? - Panagiotis Kanavos


जवाब:


माइग्रेटेड प्रोजेक्ट के साथ भी यह समस्या थी, इसलिए मैंने माइक्रोसॉफ्ट .CSharp dll का संदर्भ दिया। कुछ परियोजनाओं में मुझे परियोजना में संदर्भ को फिर से हटाने और जोड़ने की आवश्यकता थी।


35
2017-09-15 12:40



मुझे ऐसा करना था जब एक टीम के सदस्य ने समाधान के लिए एक नई परियोजना को जोड़ा और कुछ सीएस फाइलों को मौजूदा परियोजना से नए में माइग्रेट कर दिया। जब मैं नवीनतम हो गया, मैंने कई त्रुटियां देखीं लेकिन मैं संकलित और चला सकता था। नाराज परियोजना से नई परियोजना के संदर्भ को छोड़ना और फिर से जोड़ना मेरे लिए काम करता है। - Bill
बिलकुल वही स्थिति जिस बिल का वर्णन हमारे साथ हुआ था। कुछ वर्गों को एक नई परियोजना में ले जाया गया। ऐसा लगता है कि विजुअल स्टूडियो ने इंटेलिसेंस कैश को अपडेट नहीं किया था जब स्रोत प्रोजेक्ट से नया प्रोजेक्ट संदर्भ आयात किया गया था। संदर्भ को पुनः दर्ज करने के लिए मैन्युअल रूप से VS को ऐसा करने के लिए मजबूर किया गया। - Peter Macej
समाधान संकलित करता है, लेकिन कुछ फ़ाइलों में squiggly त्रुटियों को दिखाता है। कोई रिलीज नहीं है जहां "रिलीज" में दिखाया गया है, बस डीबग में। Microsoft.CSharp को हटाया गया, और त्रुटियां चली गईं, धन्यवाद! - Michael
@ माइकल उस टिप के लिए धन्यवाद। मेरे साथ भी ठीक यही समस्या है। रिलीज में कोई त्रुटि नहीं है लेकिन डीबग में बहुत सी त्रुटियां हैं। - user2061057
यदि उल्लिखित वर्ग आपका स्वयं का कोड है, तो आप केवल उस फ़ाइल को शामिल कर सकते हैं जिसमें कक्षा शामिल है। IntelliSense को अद्यतन करने के लिए इसे वीएस को ट्रिगर करना चाहिए। #awfulbug - davidshen84


मेरे पास हजारों ओडी इंटेलिजेंस त्रुटियां थीं और 0 बिल्ड त्रुटियां थीं। .Suo फ़ाइल को हटाने के बाद एक पुनरारंभ VS इंटेलिजेंस त्रुटियां चली गई हैं।

सुओ फ़ाइल अपेक्षाकृत स्रोत में स्थित है: .vs \ SolutionName \ v14.suo

टिप्पणी के अनुसार: सावधान रहें * .suo एक छिपी हुई फाइल है।

संपादित करें: टिप्पणियों के मुताबिक, वीएस2017 में एक ही समस्या है, इसलिए आप इसी तरह के समाधान का उपयोग कर सकते हैं: हटाएं .vs \ SolutionName \ v15.suo


129
2017-11-02 12:30



सिर्फ एक नोट: *.suo कुछ मामलों में फाइल छिपाई जा सकती है। तो आपको इसे सक्षम करने की आवश्यकता है View Hidden files विंडोज एक्सप्लोरर से विकल्प। - Athafoud
.Suo को मारने के लिए मेरे लिए कोई प्रभाव नहीं पड़ा, लेकिन बिन और ओब्जे डीआईआर को हटा दिया और फिर समाधान को पुनर्निर्माण किया। - Holger Böhnke
यह सही जवाब होना चाहिए - Mr_LinDowsMac
.Suo फ़ाइल को हटाने से मेरे लिए समस्या हल नहीं हुई (VS2015 में) मुझे जावास्क्रिप्ट में नकली लाल squiggly मिल रहा है जो कोड-पीछे से गुणों का संदर्भ देता है: <%=Foo%> कह रहा है कि चर घोषित नहीं किया गया है, लेकिन सब कुछ रनटाइम पर काम करता है। - Tim
मैं 100% निश्चित नहीं हूं, लेकिन यह एक्सएएमएल के साथ प्राप्त अवैध मार्कअप त्रुटियों को भी ठीक कर सकता है - Geordie


विजुअल स्टूडियो 2017 एएसपी.Net कोर प्रोजेक्ट में इसी तरह की समस्या में भाग लें। मेरे लिए चाल चलने के बाद कदम उठाए गए

  1. स्वच्छ समाधान करें
  2. वीएस बंद करें
  3. .Suo फ़ाइल हटाएं और bin / obj निर्देशिका हटाएं
  4. वीएस फिर से खोलें

8
2018-04-01 21:24



यह समय-समय पर करने के लिए इतनी कठिन चीज काम करता है। रिहाई मोड में निर्माण करते समय मुझे हमेशा यह समस्या होती है। अजीब वीएस इसे स्वयं ही समझ नहीं सकता है। - nawfal


इसके अलावा इस समस्या (शीर्षक, विशिष्ट त्रुटि संदेश नहीं), साथ ही साथ संपादक में squiggly लाइनें भी थीं। पहली squiggly लाइन पहले के तहत है #include कथन, जो एक precompiled शीर्षलेख नाम। Intellisense precompiled शीर्षलेख शामिल करने में विफल रहता है, लेकिन यह एक त्रुटि के रूप में सूचीबद्ध नहीं है; इसके बजाय यह फाइल को नीचे और नीचे त्रुटियों की सूची देता है, कोड पर (बहुत सही तरीके से) precompiled शीर्षलेख में घोषणाओं पर निर्भर करता है।

इंटेलिसेंस को मेरे पर्यावरण में प्रीकंपिल्ड हेडर नहीं मिला है, यह है कि नामित हेडर वास्तविक फ़ाइल नहीं है। यह मेरे द्वारा उपयोग किए जाने वाले किसी भी अन्य वीसी या जीसीसी संस्करण में नहीं होना चाहिए, न ही 2015 संकलक में, जब तक प्रीकंपील्ड हेडर सेटिंग्स सही तरीके से कॉन्फ़िगर की जाती हैं। जाहिर है इंटेलिजेंस के लिए और नहीं। मुझे पूरी तरह से यकीन नहीं है कि यह 2013 में अलग था, शायद मैंने कभी नहीं देखा।

असंभव मामले में कि यह यहां रिपोर्ट की गई समस्या होगी, समाधान सरल है: जैसा कि निर्दिष्ट है, प्रीकंपिल्ड हेडर के नाटक-नाम के साथ एक छोटी फ़ाइल बनाएं #include निर्देश, और उस फ़ाइल को precompiled शीर्षलेख का वास्तविक नाम शामिल करने दें।

यदि आप सोचते हैं ... '#include' कथन में precompiled शीर्षलेख नाम और precompiled शीर्षलेख के वास्तविक फ़ाइल नाम के बीच यह भेद क्यों? निश्चित रूप से क्योंकि यह गारंटी देता है कि प्रीकंपील्ड हेडर सेटिंग्स सही तरीके से कॉन्फ़िगर की गई हैं। जहां भी एक प्रीकंपिल्ड हेडर "# शामिल" है, वहां कोई फ़ाइल नहीं है जिसे शामिल किया जा सकता है। या तो वास्तविक शीर्षलेख का वास्तव में प्रीकंपिल्ड (बाइनरी) संस्करण पढ़ा जाता है, या संकलन विफल हो जाता है। जाहिर है, एक नुकसान यह है कि यह भ्रमित है लोग कोड पढ़ना, न सिर्फ इंटेलिजेंस।


6
2017-09-15 20:55





दूसरों के समान समस्या, लेकिन विभिन्न संकल्प। अगर मैं किसी और की मदद कर सकता हूं तो पोस्ट करना।

विजुअल स्टूडियो 2017 15.5.2 चल रहा है। मैं गिट का उपयोग करता हूं और अक्सर शाखाएं स्विच करता हूं। कई हफ्ते पहले, मैंने संपादकों को त्रुटियों को दिखाने शुरू कर दिया था (सभी प्रकार से संबंधित हैं जो संदर्भ नहीं थे, भले ही संदर्भ वैध थे)। संकलन महान काम किया। मैंने वीएस 2017 15.6 पूर्वावलोकन (6 जनवरी, 2018) में एक ही मुद्दे की पुष्टि की। मैं कैश, एसयूओ फाइल, या बिन / ओबीजे फ़ोल्डरों को हटाने की कोशिश करता हूं और कोई प्रभाव नहीं। पहले यह काम करने के लिए प्रतीत होता है। विजुअल स्टूडियो को फिर से खोलें और सब कुछ अच्छा लगेगा। "पुनर्निर्माण समाधान" का उपयोग करें और IntelliSense त्रुटियां वापस आती हैं। मैंने विजुअल स्टूडियो की स्थापना रद्द / पुनर्स्थापित करने का भी प्रयास किया।

विजुअल स्टूडियो के समान संस्करण के साथ, दोनों मशीनों पर एक ही समस्या थी।

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

मैंने फिर गिट शाखाओं को बदल दिया और सभी त्रुटियां वापस आईं। सौभाग्य से मैंने छोटी परियोजना को उतारने / पुनः लोड करने के उपरोक्त चरणों को दोहराया और त्रुटियां चली गईं।

जब भी मैं गिट शाखाओं को स्विच करता हूं, तब तक त्रुटियां तब तक आती हैं जब तक कि मैं उस प्रक्रिया को दोहराता हूं। छोटी परियोजना के लिए गिट शाखाओं के बीच शून्य परिवर्तन हैं जिन्हें मैं अनलोड / पुनः लोड करता हूं। अस्पष्ट क्यों यह अनुक्रम मेरी समस्या को ठीक कर रहा है।


5
2018-01-06 17:39





आज मुझे एमएसवीसी ++ 2015 के साथ समान समस्या मिली है। मैंने लगभग छोड़ दिया और आईडीई संकेतों के बिना आगे बढ़ने का फैसला किया, लेकिन कभी-कभी मैंने देखा है कि सबप्रोजेक्ट के stdafx.h में मुझे समस्याएं थीं जिसमें कोई मानक लाइब्रेरी हेडर नहीं था। मैंने सुझाव दिया कि यह मॉड्यूल संकलन को धीमा कर सकता है, लेकिन मानक शीर्षकों को शामिल करने से इंटेलिजेंस भी तय हो गया है।


0
2018-01-22 19:40





मेरे पास एकाधिक था stdfax.h अतिरिक्त शामिल निर्देशिकाओं में। सुनिश्चित करें कि stdafx.h आपका इरादा आपके रास्ते में पहला है।


0
2018-05-30 14:56