2009-06-02 17 views
6

एएसपी.नेट एमवीसी 1.0 स्रोत में डीबग करने का प्रयास करते हुए, मैंने these जैसे निर्देशों का पालन किया, मूल रूप से system.web.mvc को मेरे वेब प्रोजेक्ट से संदर्भ हटा दें और इसके बजाय डाउनलोड की गई स्रोत प्रोजेक्ट को जोड़ें।एएसपी.नेट एमवीसी स्रोत डीबगिंग?

अब, मैं इस समस्या,

प्रकार 'System.Web.Mvc.FormMethod' दोनों 'ग में मौजूद है: \ Windows \ विधानसभा \ GAC_MSIL \ System.Web.Mvc \ 1.0 .0.0__31bf3856ad364e35 \ System.Web.Mvc.dll 'और मेरे ऐपडाटा \ स्थानीय \ Temp \ अस्थायी एएसपी.नेट फ़ाइलें \ root \ dbcbb149 \ 897fc019 \ assembly \ dl3 \ 796c00fb \ f345f2d6_abe3c901 \ System.Web.Mvc.DLL '

मैंने web.config

से निम्नलिखित पर टिप्पणी करने का प्रयास किया
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

लेकिन यह एक फर्क त्रुटि

प्रकार 'System.Web.Mvc.Controller' एक विधानसभा कि संदर्भित नहीं है में परिभाषित किया गया है दे देंगे। आपको असेंबली 'System.Web.Mvc, संस्करण = 1.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = 31bf3856ad364e35' में संदर्भ संदर्भ जोड़ना होगा।

कोई क्या गलत हो रहा है और इसे ठीक करने के तरीके में सहायता कर सकता है। आपका बहुत बहुत धन्यवाद!

रे।

+0

ऐसा लगता है कि आपके पास बिन और जीएसी में एक प्रति है। क्या आपके पास आपके बिन फ़ोल्डर में System.Web.Mvc की एक प्रति है (सुनिश्चित करें कि आप सभी फाइलें देख रहे हैं) –

+0

मैं स्रोत प्रोजेक्ट का संदर्भ देता हूं, इसलिए संकलन के बाद मेरे बिन में एक प्रतिलिपि होगी। –

उत्तर

7

जीएसी से एएसपी.नेट एमवीसी को अनइंस्टॉल करने की कोई आवश्यकता नहीं है! (या कोई भी <assemblyBinding> एस) बस चरणबद्ध लेख "Using the ASP.NET MVC source code to debug your app" का पालन करें।

+1

में से एक से अलग है, मैं देखता हूं कि मुझे कहां याद आया, आपका दूसरा लिंक मदद करता है, <पृष्ठ को सभी को शून्य होना चाहिए। मैंने ट्यूटोरियल का पालन करने के लिए शुरू किया, लेकिन मुझे लगता है कि यह केवल <पेज टैग में एक अट्रिब का उल्लेख है। धन्यवाद! –

1

क्या जीएसी में system.web.mvc असेंबली हैं? आपको उन्हें हटाने की आवश्यकता हो सकती है ... यह निश्चित रूप से भविष्य की परियोजनाओं को गड़बड़ कर सकता है क्योंकि परियोजना टेम्पलेट्स का मानना ​​है कि वे जीएसी में हैं।

आप सुविधा described here के रूप में उपयोग करने के लिए एमवीसी सामग्री को इंगित करने के लिए भी कोशिश कर सकते हैं।

+0

हां, मैंने वेब पीआई का उपयोग करके एमवीसी स्थापित किया है, इसलिए यह जीएसी में है। क्या इसे हल करने का एक आसान तरीका है। मैं वास्तव में इसे जीएसी से हटाना नहीं चाहता हूं या इसे अनइंस्टॉल नहीं करना चाहता हूं। –

1

जीएसी में से किसी एक से अलग होने के लिए आप जो लिंकिंग कर रहे हैं उसके लिए पूरी तरह से योग्य असेंबली नाम मानते हैं, <QualifyAssembly> element का उपयोग करें और निर्दिष्ट करें कि आप वास्तव में किस असेंबली से लिंक कर रहे हैं। यदि नहीं, तो अपने स्थानीय स्रोत को एमवीसी असेंबली को बदलने के लिए बदलें जिसे आप 1.0.0.1 पर बना रहे हैं, इसलिए यह अलग है।

संपादित करें: दो बार जांचें कि आपने कैसे लिंक किया है। यह मेरे लिए काम किया।

  1. ने मेरी परियोजना में system.web.mvc संदर्भ हटा दिया।
  2. स्रोत से System.Web.Mvc प्रोजेक्ट जोड़ा गया।
  3. मेरे प्रोजेक्ट के web.config में System.Web.Mvc संदर्भ को टिप्पणी करें।
  4. सिस्टम.we.b.mvc के /Views/Web.Config को कैसे संशोधित किया गया है में संशोधित किया गया है।
  5. निर्दोष रूप से दौड़ें।
+1

यह नहीं पता कि यह कैसे काम करता है, क्या आपके पास यह काम करने के लिए बिल्कुल पंक्ति है जिसका उपयोग मैं कर सकता हूं। इसे 1.0.0.1 में बदलने का प्रयास किया, वास्तव में काम नहीं किया। –

+0

रिचर्ड के उत्तर को देखें और आपको एमवीसी प्रोजेक्ट के लिए असेंबली जानकारी अपडेट करनी होगी ताकि संस्करण जीएसी में से एक से अलग हो। – hometoast

+0

codeville लेख के अनुसार यकीन system.web.mvc अपनी परियोजना संदर्भ सेट किया गया है "कॉपी स्थानीय" के लिए "सही" – hometoast

0
अर्हता विधानसभा अनुभाग आप कुछ इस तरह चाहते हैं (हम SQLite विधानसभा के लिए यह करना) के लिए

:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <qualifyAssembly partialName="System.Data.SQLite" fullName="System.Data.SQLite, Version=1.0.60.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" /> 
    </assemblyBinding> 
    </runtime> 
0

कैसे setup MVC source पर पूरा गाइड के लिए इस लेख पर एक नज़र डालें।

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

+0

पढ़ने सेट किया गया है और यह पीछा किया, मेरे विचार में web.config लेख –

0

एक स्टीव Sandersons निर्देश can be found here के थोड़ा और अधिक व्यापक संस्करण:

आपसे मिलते-जुलते सवालों के एक जोड़े हैं।

यह बताता है कि आप अपने डीबगिंग में एमवीसी फ्यूचर्स को कैसे शामिल कर सकते हैं।

संबंधित मुद्दे