इसे हल करने के लिए मैंने यह सुनिश्चित किया कि मैं न्यूगेट और पैकेज मैनेजर कंसोल का उपयोग करके नवीनतम एमवीसी संस्करण में अपग्रेड किया गया।
स्थापित करें-पैकेज Microsoft.AspNet.Mvc -Version 5.2.4
फिर नवीनतम रेजर संस्करण में अपग्रेड किया गया
स्थापित करें-पैकेज Microsoft.AspNet.Razor -Version 3.2.4
फिर मैंने परिवर्तन को प्रतिबिंबित करने के लिए सभी web.config फ़ाइलों को बदल दिया। जैसा कि आप नीचे देखेंगे:
मुख्य web.config फ़ाइल में, सुनिश्चित करें कि वेबपेज: संस्करण सही है। यह वह जगह है जहाँ इसे पाया जा सकता है (अन्य कुंजियों को अनदेखा करें):
<configuration>
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
</configuration>
फिर विधानसभाओं में सूचीबद्ध अन्य संस्करणों की तलाश करें, अपने प्रोजेक्ट संदर्भों में सूचीबद्ध लाइब्रेरी के संस्करण के खिलाफ विधानसभा के संस्करण की जांच करें! आपको इन सभी की आवश्यकता नहीं हो सकती है।
<system.web>
<compilation debug="true" targetFramework="4.6">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</system.web>
रनटाइम असेम्बलीबाइंडिंग को "न्यूवर्सन" के रूप में अच्छी तरह से दिखाना चाहिए, देखें कि यह न्यूवर्सन 5.2.4.0 कहाँ पढ़ता है? लेकिन अन्य सभी संस्करणों की भी जांच करें।
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
वेब में देखें। कॉनफिग अनुभाग, सुनिश्चित करें कि रेजर सही संस्करण है:
<configuration>
<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>
</configSections>
<configuration>
और अंतिम रूप में वेब के पृष्ठ अनुभाग हैं
<pages
validateRequest="false"
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>