2013-02-12 25 views
30

मैंने व्यावसायिक एएसपी.नेट 3.5 एमवीसी के अध्याय 13 के अनुसार एएसपीनेट 4 वेबफॉर्म प्रोजेक्ट को एएसपीनेट एमवीसी 4 में परिवर्तित किया, स्कॉट हंसेलमेन, फिल हैक द्वारा, और रॉब कॉनरी, विली पब्लिशिंग, इंक द्वारा प्रकाशित (आईएसबीएन: 978-0-470-38461-9)। मैंने इस blog का भी पालन किया। अब मैं नियंत्रक, दृश्य, आदि जोड़ सकता हूं सभी संदर्भ ठीक से सेट हैं। कोई बिल्ड त्रुटियां नहीं। लेकिन परिवर्तित परियोजना लॉन्च करने पर, मुझे संकलन त्रुटियां मिलीं। मेरे पास एक ही मशीन पर mvc3 स्थापित है। मैंने उस संदर्भ को भी बदल दिया। यह अभी भी शिकायत है। क्या आप सहायता कर सकते हैं? धन्यवाद।CS0234: एमवीसी सिस्टम में मौजूद नहीं है। वेब नेमस्पेस

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

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

Source Error: 

Line 109:   <namespaces> 
Line 110:    <add namespace="System.Web.Helpers"/> 
Line 111:    <add namespace="System.Web.Mvc"/> 
Line 112:    <add namespace="System.Web.Mvc.Ajax"/> 
Line 113:    <add namespace="System.Web.Mvc.Html"/> 

Source File: c:\Users\Jon\Documents\Visual Studio 2012\Projects\CMT\Apps\Branches\3.0\Web.config Line: 111 
+0

लेख पढ़ने के बिना, आईडी जानना, क्या आपने एमवीसी डीएल के संदर्भ जोड़ दिए हैं? –

उत्तर

8

यह समस्या, जब आप एक सर्वर से अपने वेब अनुप्रयोग को तैनात हो सकता है तो आप चाहिए जांचें कि क्या आपने पहले ही एमवीसी 3 स्थापित किया है।

जांचें कि फ़ोल्डर C:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3 मौजूद है या नहीं।

यदि यह मौजूद नहीं है, तो आप क्या आप बिन फ़ोल्डर में स्थानीय स्तर पर सभी DLLs जोड़ सकते हैं और अगर आप मेजबान यह काम ठीक उन्हें संदर्भ जोड़ सकता है स्थापित करने के लिए अभ्यस्त हैं से http://www.microsoft.com/en-us/download/details.aspx?id=1491


यह स्थापित करने की आवश्यकता सर्वर पर एएसपी.नेट वेब पेज या एमवीसी 3 तैनात नहीं करते हैं।

+1

धन्यवाद! और एक ही कहानी जब यह एमवीसी 2 है: https://www.microsoft.com/en-gb/download/details.aspx?id=22079 –

6

web.config के अंदर अपने क्रम टैग की जाँच करें, और सत्यापित करें कि आप कुछ इस तरह की है की घोषणा की:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
     </dependentAssembly> 
..... 
</runtime> 
1

आपको परियोजना में असेंबली System.Web.Mvc के संदर्भ को शामिल करने की आवश्यकता है।

तो आपकी C System.Web.Mvc नहीं हो सकता: \ Program Files (x86) \ संदर्भ विधानसभाओं \ Microsoft \ Framework.NETFramework \ v4.0

तो तुम यह करने के लिए जोड़ सकते हैं और उसके बाद की जरूरत है इसे अपने प्रोजेक्ट

0

के संदर्भ में शामिल करें, मुझे यह समस्या थी, लेकिन आईआईएस में सभी एप्लिकेशन पहले से काम कर रहे थे तो टूट गए थे। चिह्नित समाधानों में से कोई भी मेरी मदद नहीं करता है। मेरी रूट निर्देशिका में web.config की एक अतिरिक्त प्रति होने की समस्या समाप्त हो गई थी। मैंने उस फाइल को हटा दिया और समस्या हल हो गई।

75

मैं एक ही समस्या थी और मैं के साथ इसे हल किया था: समाधान के लिए क्लिक करें 1.Right और क्लिक समाधान एक्सप्लोरर में 'Clean Solution'

2.Click 'References' फ़ोल्डर और चयन समस्या संदर्भ (आपके मामले में

यह System.Web.Mvc लगता है) और फिर राइट क्लिक करें और 'Properties' पर क्लिक करें।

गुण खिड़की 3.In, सुनिश्चित करें कि 'Copy Local' संपत्ति 'True'

यह मेरे लिए काम किया पर सेट है।आशा है कि यह किसी और

सहायक नोट के लिए काम करता है: यह टिप्पणी में @Vlad ने उल्लेख किया गया है:

यह पहले से ही सही पर सेट हो, तो:

  1. सेट यह झूठी
  2. सेट यह सच है फिर
  3. पुनर्निर्माण
+8

मेरे मामले में इसे स्थानीय = सही कॉपी करने के लिए सेट किया गया था लेकिन किसी कारण से डीएलएल नहीं था क्या आप वहां मौजूद हैं। मैं बस इसे झूठी और वापस सच करने के लिए सेट> पुनर्निर्माण। मदद की। –

+3

अभी इस मुद्दे को अभी था और यह पूरी तरह से काम किया! – HTX9

+3

लेकिन ... आपको ऐसा क्यों करना है? मैंने अभी एक खाली एमवीसी परियोजना (बनाम 2013) बनाई है, और इसे काम करने के लिए इसे करना था। इसका मतलब है कि डिफ़ॉल्ट रूप से, दृश्य स्टूडियो में शुरू होने वाली परियोजनाएं काम नहीं करती हैं। यह कैसे पर्ची कर सकता है? – zod

3

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

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

अब यह स्थानीय प्रतिलिपि के बिना काम करता है।

+1

वही मामला यहाँ! धन्यवाद! – Santiago

3

पिछले उत्तरों में से कोई भी मेरे लिए काम नहीं करता है।

मैंने देखा कि मेरा प्रोजेक्ट .NET Framework से System.Web.Mvc संदर्भ का उपयोग करके किसी अन्य प्रोजेक्ट का संदर्भ दे रहा था।

मैंने अभी उस असेंबली को हटा दिया है और "Microsoft.AspNet.Mvc" NuGet पैकेज जोड़ा है और यह मेरी समस्या को ठीक करता है।

1

Microsoft.AspNet.Mvc nuget पैकेज जोड़ें।