नाम या नामस्थान का नाम 'System.Web.Mvc' नामस्थान में मौजूद नहीं है


217

एमवीसी 3 घोल को अच्छी तरह से चला गया लेकिन उसे ब्राउज़र में एक त्रुटि मिली:

संकलक त्रुटि संदेश: CS0234: 'Html' प्रकार या नाम स्थान का नाम 'System.Web.Mvc' नाम स्थान में मौजूद नहीं है (क्या आप असेंबली संदर्भ याद कर रहे हैं?)

Source Error:
Line 25:         <add namespace="System.Web.Mvc" />
Line 26:         <!--<add namespace="System.Web.Mvc.Ajax" />-->
Line 27:         <add namespace="System.Web.Mvc.Html" />
Line 28:         <add namespace="System.Web.Routing" />
Line 29:         <add namespace="System.Web.WebPages" />

मैंने NuGetसभी परियोजनाओं के लिए समाधान के लिए पैकेट स्थापित किए हैं MVC3। क्या MVC3पुस्तकालयों में शामिल हैं System.Web.Mvc.Ajax, System.Web.Mvc.Htmlऔर दूसरों को? मुझे त्रुटि क्यों मिल रही है?


सन्दर्भ फ़ोल्डर में, मेरे पास System.Web.Mvc है

Runtime version: v4.0.30319,

Version: 3.0.0.0

web.config

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=152368
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="webpages:Version" value="1.0.0.0" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>
    <pages>
      <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.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
    <httpRuntime targetFramework="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <machineKey compatibilityMode="Framework45" />
    <profile defaultProvider="DefaultProfileProvider">
      <providers>
        <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </profile>
    <membership defaultProvider="DefaultMembershipProvider">
      <providers>
        <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
    <roleManager defaultProvider="DefaultRoleProvider">
      <providers>
        <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </roleManager>
    <sessionState mode="InProc" customProvider="DefaultSessionProvider">
      <providers>
        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
      </providers>
    </sessionState>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
  <connectionStrings>
    <add name="EFDbContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SportStore;Integrated Security=True;Pooling=False;" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

MSDN System.Web.Mvc नामस्थान

फ़ाइल packages.config:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="5.0.0-rc" />
  <package id="jQuery" version="1.7.2" />
  <package id="jQuery.UI.Combined" version="1.8.11" />
  <package id="jQuery.Validation" version="1.9" />
  <package id="Microsoft.AspNet.Mvc" version="3.0.20105.1" />
  <package id="Microsoft.AspNet.Providers.Core" version="1.0" />
  <package id="Microsoft.AspNet.Providers.LocalDB" version="1.0" />
  <package id="Microsoft.AspNet.Razor" version="1.0.20105.408" />
  <package id="Microsoft.AspNet.WebPages" version="1.0.20105.408" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
  <package id="Modernizr" version="2.0.6" />
  <package id="Moq" version="4.0.10827" />
  <package id="Ninject" version="3.0.1.10" />
</packages>

1
आपका वेब सर्वर क्या है? क्या यह आईस में है?
डैनियल ए। व्हाइट

विज़ुअल स्टूडियो 2012 में आईआईएस को व्यक्त करें
J.Olufsen

1
आपके प्रोजेक्ट का लक्ष्य क्या है?
डैनियल ए। व्हाइट


2
निर्भर करता है कि कौन इस सवाल को हिट करता है - यह वह सब है जो हम में से कुछ के लिए आवश्यक है समाधान के लिए Nuget पैकेज प्रबंधित करें ... >> अपडेट
टॉम स्टिकेल

जवाबों:


420

अपने समाधान को साफ़ करें और फिर उन फ़ाइलों की संपत्ति सेट करें Copy Local = True

ट्रू या गलत पर कॉपी लोकल प्रॉपर्टी को सेट करना

समाधान एक्सप्लोरर में, संदर्भ नोड प्रदर्शित करने के लिए सभी फ़ाइलें दिखाएँ बटन पर क्लिक करें।

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

11
बहुत बढ़िया! यह मेरे लिए MVC4 प्रोजेक्ट पर तय किया गया। जब आप इसके बारे में सोचते हैं तो यह स्पष्ट होता है। मैंने कभी डीएलएल के होने की स्थिति को देखने के लिए तैनात किए गए प्रोजेक्ट पर ध्यान नहीं दिया।
एलेक्स किलपैट्रिक

1
धन्यवाद! इससे मुझे भी मदद मिली!
मैरिटिम

1
आपका स्वागत है। कभी-कभी जटिल समस्याओं को सरल समाधान द्वारा हल किया जाता है। :)
टॉफ़ी

5
यह काम करता हैं! मैं सिर्फ एक ही संदर्भ =>System.Web.Mvc
जैडर

5
मुझे पता लगाने के लिए थोड़ा समय लगा कि "उन फाइलों" का क्या मतलब था। समाधान में प्रत्येक परियोजना पर विधानसभा संदर्भों के माध्यम से जाओ, "Microsoft ASP.NET \ ASP.NET MVC 3 \ Assemblies" के साथ कुछ भी या रास्ते में समस्या का हिस्सा है।
टास्क

60

जो भी कारण के लिए, मेरे समाधान के TWO में वेब प्रोजेक्ट हैं जो किसी भी तरह से asp.net MVC की अनायास स्थापना करते हैं। मैंने इसे नूगेट से स्थापित किया और अब वे दोनों फिर से काम करते हैं। यह हाल ही में विंडोज़ अपडेट के एक बैच के बाद हुआ था, जिसमें उस संस्करण के लिए .net फ्रेमवर्क अपडेट शामिल था जो मैं उपयोग कर रहा था (4.5.1)।

संपादित करें: .नेट वेब विकास और उपकरण ब्लॉग से:

Microsoft Asp.Net MVC सुरक्षा अद्यतन MS14-059 ने मेरा निर्माण तोड़ दिया!


4
यह सिर्फ मेरे साथ हुआ। हालाँकि, मैंने उन्हें पुनः स्थापित करने के बजाय अपने MVC पैकेज को अपडेट किया (मेरा वैसे भी पुराना था)। क्या कोई स्रोत या कारण है कि ऐसा क्यों हुआ?
जोशुआ एच

5
यह KB2994379 या KB2992080 से संबंधित प्रतीत होता है , यह निर्भर करता है कि आप किस MVC के संस्करण (क्रमशः क्रमशः 5.1 और 5.0) पर निर्भर हैं। अद्यतन System.Web.Mvc का एक नया संस्करण वितरित करता है, जो मुझे लगता है कि एक संस्करण संघर्ष शुरू कर रहा है। अपने MVC पैकेज को अपडेट करने से त्रुटि ठीक हो जाएगी। यदि आप किसी भी कारण से अपडेट नहीं कर सकते हैं, तो आपको स्थानीय रूप से कॉपी किए जाने के लिए System.Web.Mvc.dll सेट करना होगा।
विन्नी केली

1
मुझे भी यही समस्या थी। पैकेज को अपडेट करें और कॉपी करें स्थानीय = सच। सबको धन्यवाद!!!!
17

1
एमवीसी कॉपी स्थानीय = सच +1।
स्टेनोमैटिक

4
मेरे साथ भी ऐसा ही हुआ। स्थानीय = FALSE की प्रतिलिपि बनाने के लिए MVC सेट करना, पुनर्निर्माण करना, स्थानीय बनाना = TRUE, पुनर्निर्माण करना। सब अच्छा।
जेपीबेम

38

IIS से चलने पर यह सामान्य रूप से मुझे पकड़ लेता है और डिफ़ॉल्ट साइट के लिए ऐप पूल .NET संस्करण 2.0 पर सेट हो जाता है। विजुअल स्टूडियो से IIS का उपयोग करते समय यह एक आभासी निर्देशिका बनाता है लेकिन फिर भी डिफ़ॉल्ट साइट के ऐप पूल के तहत चलता है। यदि वेब सर्वर में बिल्ड का उपयोग कर रहे हैं, तो अपने वेब प्रोजेक्ट पर राइट क्लिक करें, गुणों पर जाएं और सुनिश्चित करें कि आप इसे .NET के सही संस्करण के तहत चला रहे हैं। IIS पर अपने ऐप पूल पर .NET संस्करण की जाँच करें।

परियोजना के निर्माण के तरीके के बारे में मेरी पिछली टिप्पणी के बाद - क्या आप सही ढंग से असेंबलियों को शामिल कर रहे हैं, जैसा कि नीचे दिया गया है (वीएस 10 में MVC3 परियोजना टेम्पलेट द्वारा उत्पन्न डिफ़ॉल्ट web.config फ़ाइल से लिया गया है):

<compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Helpers, Version=1.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=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
</compilation>

2
सभी प्रोजेक्ट .NET फ्रेमवर्क 4.5 का उपयोग करने के लिए सेट हैं। इसका मतलब यह है कि .NET 4.5 System.Web.Mvc.Ajax और अन्य वर्गों को नहीं खोज सकता है?
J.Olufsen

आम तौर पर इसका मतलब है कि यह 4.5 के रूप में चलाने के लिए सेट है, लेकिन वास्तव में कुछ और चल रहा है जिसका अर्थ है कि यह System.Web.Mvc.Ajax को System.Web.Mvc में नहीं मिल सकता है।
BlackSpy

एक तरफ के रूप में, आपका System.Web.dll संस्करण क्या है? कारण मैं पूछ रहा हूँ कि आपने कहा था कि आपने NuGet से असेंबलियों को जोड़ा है - क्या आपने MVC3 वेब प्रोजेक्ट नहीं बनाया है?
BlackSpy

31

आपको MVC को अपडेट करने की आवश्यकता है।

  1. टूल्स पर जाएं -> NuGet Package Manager -> समाधान के लिए NuGet पैकेज प्रबंधित करें
  2. "अपडेट" पर क्लिक करें
  3. "Microsoft ASP.NET MVC" अपडेट करें
  4. समाधान का पुनर्निर्माण करें

1
NuGet पैकेज का उपयोग करना अच्छा है, लेकिन अन्य असेंबली का एक टन डाउनलोड कर सकते हैं, जिसकी आवश्यकता नहीं है, हालांकि यह इसे ठीक कर देगा।
कैनवास

1
एक ही समस्या थी, कुछ इनाम है।
नित

28

मुझे भी यही समस्या थी - मेरा परिदृश्य यह था कि मैं नए सिस्टम का संदर्भ दे रहा था। एक lib फ़ोल्डर से M.Mc.dll और मेरे पास "कॉपी लोकल" सेट नहीं था। तब एप्लिकेशन जीएसी में संस्करण पर वापस लौट रहा था, जिसमें उसमें सही नामस्थान (एचटीएमएल, अजाक्स आदि) नहीं थे और मुझे रन टाइम एरर दे रहा था।


16

मेरा समाधान समाधान के लिए प्रबंधित नगेट पैकेज के तहत था ... - मेरे पास काफी कुछ पैकेजों के लिए अपडेट करने के लिए umpteen अपडेट थे।

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

समाधान पर वापस जाएं ... मैं बस समाधान के लिए Nuget संकुल प्रबंधित करने के लिए गया ... >> अपडेट >> Microsoft और .NET और अपडेट ऑल बटन को हिट करें

सब कुछ वापस सामान्य और खुश था।


मैंने उसी प्रकार के समाधान को पोस्ट किया है जिसमें गलती से आपकी पोस्ट +1 आपके लिए छोड़ दी जा रही है
टॉम स्टिकेल

मेरे लिए भी यही तय था।
bradj

ध्यान दें कि ऐसा करने के बाद आपको JQuery और बूटस्ट्रैप को भी अपडेट करने की आवश्यकता हो सकती है
कार्ल ऑनगर

MVC5 प्रोजेक्ट पर मेरे लिए mvc, रेजर और वेबपेजेस नगेट पैकेजों को अपडेट करना काम किया।
15

9

मैंने एक mvc 5 परियोजना और आपत्तिजनक मुद्दे को इंगित किया

<add namespace="System.Web.Mvc.Ajax" />  

इस त्रुटि संदेश के साथ:

CS0234: The type or namespace name 'Ajax' does not exist in the namespace 'System.Web.Mvc' (are you missing an assembly reference?)

-> जिसमें मैं इस वेबपेज पर आया था और एक स्वच्छ और ऊपर कुछ चीजें आदि की कोशिश की ...

मेरे लिए जो काम किया वो बस था

Manage Nuget and Update all the packages.  Then it worked fine.

1
ओह, मैं अपनी पोस्टिंग छोड़ दूंगा, लेकिन मैं देख रहा हूं कि azarc3 एक ही बात कह रहा है। उसे उभारना।
टॉम स्टिकेल

7

नगेट पैकेज मैनेजर में निम्न कमांड चलाना मेरे लिए इसे तय करता है:

update-package microsoft.aspnet.mvc -reinstall

2
इसके लिए लगभग एक हजार बार और उत्थान करने की आवश्यकता है।
Chazt3n

1
@ Chazt3n ने मेरे लिए काम नहीं किया, लेकिन यह एक अच्छा सुझाव है इसलिए + 1
जारेड बीच

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

6

इस उत्तर को प्रश्न की तारीख के अनुसार देर से दिया गया है, लेकिन कोई इसे उपयोगी पा सकता है।

उपरोक्त में से किसी भी समाधान ने मेरे लिए विज़ुअल स्टूडियो 2012 में एक स्थानीय प्रोजेक्ट, नेट फ्रेमवर्क 4.5 एमवीसी 4 पर काम किया। 4. संदर्भ के लिए, मैं कोडप्रोजेक्ट ( http://www.codeproject.com/) पर एक वेब पेज बनाने के लिए एक ट्यूटोरियल का अनुसरण कर रहा था । लेख / 615805 / बनाना-एक स्वच्छ-न्यूनतम-फुटप्रिंट-एएसपी-नेट-वेबएपीआई ) जब मैं इस समस्या से भाग गया।

मेरे लिए जो काम किया, वह स्पष्ट रूप से "System.Web.Mvc" को मेरे आवेदन के संदर्भों में जोड़ रहा था, भले ही आवेदन पहले से ही "System.Web" संदर्भ में किया हो।


धन्यवाद। इसने मेरे मुद्दे को हल कर दिया (साथ ही यह DevExpress.Web.Mvc के साथ था)
dferraro

+1। मैं MvcSiteMapProvider का उपयोग कर रहा हूं और चूंकि यह MVC की नवीनतम विधानसभाओं के साथ काम नहीं करता है, मैं nuget के माध्यम से Microsoft ASP.Net MVC पैकेज के लिए "अपडेट ऑल" नहीं कर सका। एक और सुझाव आपको इस विधानसभा के लिए "CopyLocal = True" करने की आवश्यकता है।
user007

बस डिबग वेब एप्लिकेशन को नए परिवेश में धकेलने की आवश्यकता है। संदर्भ में "प्रतिलिपि स्थानीय" जोड़ने की आवश्यकता है।
dudeNumber4

4

मेरे पास एक ही मुद्दा था, लेकिन उपरोक्त में से कोई भी मेरे लिए काम नहीं करता था। हालांकि उन्होंने मुझे सही दिशा में ले जाने के लिए कहा।

उदाहरण के लिए जब मैंने System.Web.Mvc संदर्भ के लिए "कॉपी लोकल" को "ट्रू" पर सेट किया, तो यह स्वचालित रूप से इसे गलत पर सेट करता है।

मेरे पास कई परियोजनाएं हैं जो मेरे समाधान में System.Web.Mvc संदर्भ पर निर्भर करती हैं, लेकिन केवल एक ने इस समस्या का कारण बना। वीएस 2012 में इस संदर्भ को पीले ध्यान त्रिकोण के साथ लेबल किया गया है।

इस संदर्भ को ढूंढें => इसे हटाएं => इसे पुनः जोड़ें

उसने मेरे लिए इसे हल कर दिया। उम्मीद है की यह मदद करेगा


3

अपने csproj में संदर्भ पथ देखें और जांचें।

मैंने System.Web.Mvc (और अन्य) के संदर्भ हटा दिए थे और उन्हें एक कस्टम पथ पर पढ़ा था। C:\Project\OurWebReferences

हालाँकि, ऐसा करने के बाद, अभी भी csproj में संदर्भ पथ नहीं बदला। था

<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\..\OurWebProject\bin\Debug\System.Web.Mvc.dll</HintPath>
</Reference>

मैन्युअल रूप से बदला गया

<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
        <HintPath>..\..\..\..\OurWebReferences\System.Web.Mvc.dll</HintPath>
</Reference>

रास्ते ही एक उदाहरण हैं।


3

मेरे लिए, समाधान यह सुनिश्चित करने के लिए था कि सभी परियोजनाएं एक ही सीपीयू के लिए निर्माण कर रही थीं - मेरे मामले में x86


2

स्थानीय कॉपी करें = True मेरी एक परियोजना के लिए हल किया गया था। लेकिन एक अन्य परियोजना में, मुझे वही त्रुटि मिलती है, कॉपी लोकल = ट्रू सेट करने की कोशिश की गई, लेकिन इससे मेरी समस्या हल नहीं हुई। प्रोजेक्ट प्रॉपर्टीज में टारगेट फ्रेमवर्क को 4.5.1 से बढ़ाकर 4.5 करने में मदद की।


2

मैंने वास्तव में कुछ बेवकूफ किया (और शायद आपने भी किया है)।

मैं फोन करने की कोशिश कर रहा था System.Web.Mvc.Html.Partial("<Partial Page>")

System.Web.Mvc.Html एक नाम स्थान है और एक वर्ग नहीं है और मैंने अपना त्रुटि संदेश इतनी अच्छी तरह से नहीं पढ़ा है, इसलिए मैंने अपनी त्रुटि की व्याख्या की क्योंकि Htmlनाम नामस्थान में वर्ग मौजूद नहीं है। यहाँ ऊपर (बेवकूफ मुझे पता है)।

मुझे जो कुछ भी करने की ज़रूरत थी वह @using System.Web.Mvc.Htmlमेरे पृष्ठ पर एक उपयोग वक्तव्य जोड़ रहा था और फिर @Html.Partialउम्मीद के मुताबिक काम किया।


विज़ुअल स्टूडियो 2015 ज़रूरत के अनुसार उपयोग को चिह्नित करेगा, लेकिन यदि आप इसे हटा देते हैं, तो आपको त्रुटियां मिलेंगी जैसे: "टाइप या नाम स्थान का नाम 'हेल्पर्स' में मौजूद नहीं है 'Microsoft.Web' (क्या आप गायब हैं) एक विधानसभा संदर्भ?) "।
justdan23

1

यदि उपरोक्त में से कोई भी आपकी समस्या को हल नहीं करता है, तो स्थानीय ट्यूर को कॉपी करने के लिए System.Web.Mvc.dll के गुणों को सेट करें।

यह हल करेगा


1

मुझे भी यही समस्या थी, लेकिन मेरे मामले में दूसरे कारक की उत्पत्ति हुई। मैं इसे उसी समस्या वाले अन्य लोगों की मदद करने के लिए लिखता हूं। मेरे पास कई परियोजनाओं के साथ एक समाधान है। उनमें से दो System.Web.Mvc के साथ काम करते हैं, आम तौर पर हमारा संदर्भ बाहरी पैकेजों की ओर इशारा करता था जहां हमने उपयोग किए गए संस्करण को नियंत्रित किया था। किसी कारण के लिए प्रोजेक्ट संदर्भ में से एक GAC को जाता है और GAC dll (संस्करण 4.0.0.1) को इंगित करता है और प्रोग्राम को त्रुटि मिली। इसे ठीक करने के लिए:

सिंपल चेक करें यदि System.Web.Mvc के संदर्भ समान निर्देशिका पथ में समान dll को इंगित करते हैं।

मुझे उम्मीद है कि मदद


1

मैंने अपनी साइट के बिन फ्रेल्ड से System.Web.dll को हटा दिया है।


im मेरे मामले हाँ। मैं MVC के बिना पुरानी शाखा में स्विच कर रहा था। और बिन फ़ोल्डर में System.Web.dll ने मेरा बिल तोड़ दिया।
andre719mv

1

मुझे यह समस्या थी, कॉपी लोकल ऑन और ऑफ आदि सेट करने से काम नहीं चलता था। इस परियोजना में nuget का उपयोग नहीं किया गया था ताकि आसपास के फ़िक्सेस भी प्रश्न से बाहर हो जाएं।

मेरे लिए फिक्स MVC 3 (जो मैंने वेब प्लेटफ़ॉर्म इंस्टॉलर के माध्यम से किया था) स्थापित करना था।

मुझे संदेह है कि यह लोगों के लिए एक समाधान बन जाएगा क्योंकि .net फ्रेमवर्क आगे बढ़ना जारी है और लोगों के पास पुराने MVC सामान स्थापित नहीं है।


1

यह संभावना है कि आपके DLL को CopyLocal / true पर सेट करना या इसके लिए कोई अन्य मुख्य सुधार आपके मुद्दे को ठीक कर देगा, लेकिन यहां एक और धार-मामला है जिसने मुझे 20 मिनट के लिए समय बर्बाद किया।

जब आप अपने नामस्थानों को अपने दृश्य / Web.config में जोड़ते हैं, तो सुनिश्चित करें कि वे सही ढंग से अंकित हैं:

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="THE.NameSpace" />
        <add namespace="THE.Namespace" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

1

ठीक है, बहुत सारे लोग इस मुद्दे का अनुभव कर रहे हैं। मेरी समस्या अन्य परियोजनाओं के बिन फ़ोल्डरों के लिए पथ के संदर्भ के कारण, या सिस्टम फ़ोल्डर से dll का संदर्भ देने के कारण हुई। यह परियोजना लगभग 6 साल पुरानी थी और पिछले डेवलपर्स ने फैसला किया था कि यह उसी तरह था जैसे वे अपने पुस्तकालयों का संदर्भ देने जा रहे थे।

समाधान यह था कि हर संदर्भ से गुजरें और रास्तों की जाँच करें, फिर संदर्भ को हटा दें और इसे NuGet का उपयोग करके जोड़ें। किसी भी पैकेज के लिए जो नूगेट पर नहीं था, मैंने पैकेज के साथ एक और फोल्डर बनाया और नूगट के रूप में उसी लेआउट में डीएल डाल दिया।

मुझे कॉन्फिग फाइलों के माध्यम से भी जाना था और यह सुनिश्चित करना था कि संकुल के सही संस्करण का उपयोग किया जा रहा है। एक लंबी और दर्दनाक प्रक्रिया!


1

मेरे पास एक प्रोजेक्ट है जो जब भी मैं व्यू ओपन के साथ बनाता हूं। जैसे ही मैंने दृश्य बंद किया, त्रुटि दूर हो जाती है और बिल्ड सफल हो जाता है। बहुत अजीब।


0

मुझे एक ही समस्या थी, मेरे लिए कोई भी समाधान काम नहीं करता था, अंत में मैंने हटा दिया System.Web.MVCऔर फिर से जोड़ा फिर सब कुछ सामान्य हो गया और मेरी समस्या हल हो गई।

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