मेरे मामले में मेरे पास केवल एक प्रोजेक्ट के लिए मेरे पीसी पर यह समस्या थी। मेरे प्रोजेक्ट ने VS2012 में ठीक काम किया लेकिन जब VS2017 में खोला गया तो यह समस्या थी।
मेरे लिए यहाँ मुख्य मुद्दा कैश था। मेरा प्रोजेक्ट रेजर और एमवीसी के लिए dll के पुराने कैश्ड संस्करणों की ओर इशारा कर रहा था और इसमें नए संस्करण जैसे व्यूबाग में जोड़े गए फीचर्स नहीं मिल रहे थे। व्यूबाग को रेज़र संस्करण 3 में जोड़ा गया था, लेकिन क्योंकि मेरे पास रेज़र संस्करण 2 कैश था, यह व्यूबाग नहीं ढूँढ सका (लेकिन यह अन्य सामान पा सकता है जो संस्करण 2 में मौजूद थे)। हालाँकि, स्वीकृत उत्तर में जैसे कैश को साफ़ करना मेरी समस्या को ठीक नहीं करता था। हमें रेजर के लिए "संस्करण 3 का उपयोग करें" कहने के लिए कॉन्फ़िगर फ़ाइलों को बदलना पड़ा और एमवीसी के लिए "संस्करण 4 के बजाय 5 का उपयोग करें", फिर वीएस को बंद करना, कैश को हटाना, और परियोजना को खोलना और पुनर्निर्माण करना। फिर चीजें ठीक हो गईं। नीचे अधिक विस्तृत निर्देश दिए गए हैं।
यहाँ उन परिवर्तनों का क्रम है जिनसे मुझे अपनी समस्या को ठीक करने में मदद मिली:
- "दृश्य" फ़ोल्डर में Web.config उन सभी स्थानों को बदल देता है जहाँ
- MVC संस्करण 4.0.0.0 से 5.0.0.0 पर सेट है
- रेजर संस्करण 2.0.0.0 से 3.0.0.0 पर सेट है
यहाँ मेरे मामले में वे पंक्तियाँ हैं:
<sectionGroup name="system.web.webPages.razor" type="... Version=3.0.0.0 ...">
<section name="host" type="... Version=3.0.0.0 ..." .../>
<section name="pages" type="... Version=3.0.0.0 ..." .../>
</sectionGroup>
...
<host factoryType="... System.Web.Mvc, Version=5.0.0.0 ..." />
...
<pages
...
pageParserFilterType="... Version=5.0.0.0 ..."
pageBaseType="... Version=5.0.0.0 ..."
userControlBaseType="... Version=5.0.0.0 ...">
<controls>
<add assembly="... Version=5.0.0.0 ..." ... />
</controls>
</pages>
(नोट्स: 1) आपके संस्करण अलग हो सकते हैं, मैं सिर्फ यह बता रहा हूं कि मेरे मामले में क्या करने की आवश्यकता है 2) मैंने कुछ सामान "३ ..." के लिए छोड़ दिया है) भले ही आपके पास MVC संस्करण ५.३.२.० जैसा कुछ हो आपको अभी भी 5.0.0.0 इनपुट चाहिए, रेजर के संस्करण के साथ समान - इनपुट 3.0.0.0 में सभी शून्य इनपुट)
मुख्य कॉन्फ़िगरेशन फ़ाइल में (शीर्ष स्तर पर एक) webPages:version
2.0.0.0 से 3.0.0.0 तक बदल जाती है।
यह परिवर्तन शायद समाधान को प्रभावित नहीं करता था लेकिन फिर भी मैं इसका उल्लेख करूंगा। सुनिश्चित करें कि "दृश्य" फ़ोल्डर के <namespaces>
अनुभाग में परियोजना के मूल में मुख्य .conifg फ़ाइल के समान सटीक सामग्री है, कुछ इस प्रकार है:
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
- अंत में, वी.एस.
%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache
Fenton द्वारा स्वीकार किए गए (वर्तमान में) स्वीकार किए गए उत्तर की तरह ही (या जो भी आपका सही रास्ता है) सभी कैश फ़ाइलों को हटा दें । .scan
फ़ाइल को हटा दें , भले ही उस उत्तर में इसका उल्लेख न हो। एक बार जब आप कर लें, तो वीएस खोलें, अपनी परियोजना को साफ करें और इसे फिर से बनाएं। हालात चाहिए अब काम करना। इसने मेरे लिए काम किया।