[A] System.Web.WebPages.Razor.Configuration.HostSection को ... web.config मुद्दे पर नहीं डाला जा सकता है।


158

मुझे निम्नलिखित त्रुटि प्राप्त हो रही है:

[A] System.Web.WebPages.Razor.Configuration.HostSection को [B] System.Web.WebPages.Razor.Configuration.HostSection में नहीं डाला जा सकता है। टाइप A की उत्पत्ति 'System.Web.WebPages.Razor, संस्करण = 2.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = 31bf3856ad364e35' के संदर्भ में 'डिफ़ॉल्ट' स्थान पर 'C': \ WINDOWS \ Microsoft.Net \ Assembly \ GAC_MSIL \ System से होती है। .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '। टाइप B की उत्पत्ति 'System.Web.WebPages.Razor, संस्करण = 3.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = 31bf3856ad364e35' के संदर्भ में 'डिफ़ॉल्ट' स्थान पर 'C' \ Users \ MyName \ AppData \ Local \ Temp \ Temporary है। ASP.NET फ़ाइलें \ root \ 63e7ff36 \ a1cb775d \ विधानसभा \ dl3 \ 8f568c18 \ 9b7ddacf_d04dcf01 \ System.eb.WebPages.Rebor.dll '।

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

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

जवाबों:


274

मैं VS2013, MVC 5.2.2.0, जाल एपीआई 2. उपयोग कर रहा हूँ मैं बस से सभी संस्करणों को बदल दिया है 2.0.0.0 करने के लिए 3.0.0.0 के निम्न अनुभाग की Web.config अंदर बसता देखें अपने प्रोजेक्ट के फ़ोल्डर।

<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>

और समस्या हल हो जाती है। बिंगो !!


7
इसने मेरे लिए काम किया। धन्यवाद!
जोसेफ वुडवर्ड

1
इससे मेरे लिए हल हो गया। मैं MVC5 के लिए एक वेबफॉर्म एप्लिकेशन को परिवर्तित कर रहा हूं।
रे

1
@guneysus, आप मैन्युअल संपादन के बिना कुंतल के जवाब के बराबर कैसे करेंगे?
शाम

@ वॉट आम तौर पर Update-Packageभी संपादित करता हैweb.config
गनयूस 16

यही कारण है कि मैं बहुत प्यार करता हूँ!
होम्युनकुलस रेटिकुल्ली

102

बस इस मुद्दे पर मेरे दो सेंट जोड़ना।

मैंने पाया कि मेरे लिए इस त्रुटि का कारण था कि व्यू फोल्डर web.config का संदर्भ दे रहे थे System.Web.WebPages.Razor, Version=2.0.0.0जब बाकी सब कुछ उपयोग कर रहा था3.0.0.0

लगता है कि नगेट-पैकेज अपग्रेड ने इस फोल्डर का कोई हिसाब नहीं रखा।


1
यह अधिक सटीक है! web.config व्यू फ़ोल्डर में।
रोहित वर्मा

58

इस त्रुटि का कारण Web.config इन व्यू फोल्डर संदर्भित सिस्टम System.eb.WebPages.Razor, Version = 2.0.0.0 के बजाय 3.0.0.0 है।

आमतौर पर यह एक नगेट-पैकेज अपग्रेड के बाद हो सकता है, जो इस फ़ोल्डर के लिए जिम्मेदार नहीं है।

Views\Web.configफ़ाइल को अपडेट करें :

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>

MVC 5 में अपग्रेड करने के बारे में अधिक जानकारी के लिए http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrad-an-aspnet-mvc-4-and-web-api-project-to- aspnet-MVC-5 और वेब-api-2


5
यह मेरे चारों ओर काम करने के बजाय एक तय की तरह आवाज नहीं करता है। कुछ परियोजनाएं केवल mvc4 पर निर्भर हो सकती हैं
stenly

12
विशेष रूप से, यह इस त्रुटि के लिए ठीक लग रहा है "दृश्य फ़ोल्डर के तहत web.config फ़ाइलों को अद्यतन"। ऐसा लगता है कि MVC4 से अपडेट हो रहा है -> NuGet के साथ MVC5 व्यू / Web.config में संस्करण संख्याओं को स्वचालित रूप से अपडेट नहीं करता है।
टायलर

लिंक के लिए धन्यवाद! अच्छा होता अगर नुगेट अपडेट कम से कम उस पेज का लिंक दिखा पाता ...
जेद्दिजा

मैंने गाइड का पालन किया और अब मैं डिबग मोड में अपनी साइट नहीं चला सकता - मुझे बताता है "... क्लास लाइब्रेरी के आउटपुट प्रकार के साथ प्रोजेक्ट शुरू नहीं किया जा सकता ..."
मैट

2
मेरे लिए काम किया, मेरा प्राथमिक मुद्दा इसलिए था क्योंकि मैंने व्यू उप-फ़ोल्डर में web.config में संस्करणों को अपडेट नहीं किया था।
जुड़ा हुआ है

13

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

  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>

3

यदि आपको यह रूट डीबगर के साथ मिलता है, तो आपको रूट डीबगर के लिए क्षेत्र के तहत व्यू फ़ोल्डर में web.config को अपडेट करने की आवश्यकता है।


Lifesaver। धन्यवाद।
6footunder

क्या आप स्पष्ट कर सकते हैं कि कृपया
Si8

1

मेरे मामले में, मैंने इसे लाइव सर्वर पर Web.config को अपडेट करके भी हल किया है जिसे VS ने MVC 5 में अपग्रेड करने पर अपडेट किया है

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