2012-11-02 9 views
8

इसलिए मैंने हाल ही में एएसपी.नेट एमवीसी 4 के साथ शुरू किया है। मैं रेज़र इंजन का उपयोग कर रहा हूं। मेरा प्रश्न प्रत्यय cshtml के साथ दृश्य फ़ाइलों से संबंधित है। ऐसा लगता है कि ये रेज़र द्वारा * .cs फ़ाइलों में precompiled हैं जो बदले में एमएसआईएल में संकलित कर रहे हैं। (एक पैटर्न जो जेएसपी डेवलपर के रूप में मेरे दिनों से परिचित है।) एक कारण यह है कि मैं यह धारणा क्यों बना रहा हूं कि यदि मैं cshtml फ़ाइल में कुछ अमान्य सी # कोड डालता हूं तो मुझे इस तरह प्रदर्शित एक संकलन त्रुटि मिलती है:एएसपी.नेट एमवीसी cshtml से उत्पन्न सीएस फाइलों का पता लगाने?

लाइन 34: सार्वजनिक वर्ग _Page_Views_BaseDataAdmin_Index_cshtml: ...

और लाइन 34, जहां त्रुटि cshtml फ़ाइल में है, _Page_Views_BaseDataAdmin_Index_cshtml एक नियमित रूप से .net वर्ग दृश्य नहीं करने का उल्लेख करने लगता है सिर्फ वर्ग के रूप में का संकेत नहीं है फ़ाइल।

तो मेरा सवाल है: मुझे सीएस फ़ाइल कहां मिलती है? विशेष रूप से, ऊपर दिए गए उदाहरण में, "_Page_Views_BaseDataAdmin_Index_cshtml.cs"? हो सकता है कि मुझे डिस्क पर यह .cs फ़ाइल रखने के लिए एमवीसी को बताने के लिए कुछ कॉन्फ़िगरेशन जोड़ने की आवश्यकता है, यदि हां, तो मैं यह कैसे कर सकता हूं?

धन्यवाद!

+1

पता करने के लिए जहां इन फ़ाइलों हैं चाहने पीछे क्या कारण है दिखाई देगा? अधिकांश भाग के लिए आपको किसी भी चीज़ के लिए उनकी आवश्यकता नहीं होनी चाहिए। – nerdybeardo

+1

इस समय शैक्षणिक कारणों से बाहर। मनुष्यों के संज्ञानात्मक स्वभाव अक्सर ऐसा होता है कि ज्ञान/समझ ज्यादातर पूर्व-मौजूदा ज्ञान के शीर्ष पर बनाई जाती है। और चूंकि मैं रेज़र सिंटैक्स के साथ सी # से अधिक परिचित हूं, इसलिए यह उत्पन्न सी # को देखने में मेरी समझ में मदद करेगा। लेकिन मुझे यकीन है कि अन्य कारण भी हैं। –

+0

शैक्षिक जिज्ञासा के अलावा, जेनरेट की गई .cs फ़ाइलों को देखने का कोई कारण नहीं है। – jrummell

उत्तर

5

आप अपने अस्थायी एएसपी.NET फ़ाइलें फ़ोल्डर में संकलित दृश्य पा सकते हैं।

पहले .compiled फ़ाइल है कि अपने दृश्य (: home.cshtml पूर्व): से मेल खाती है खोजने के home.cshtml.a8d08dba.compiled

इस फ़ाइल में विधानसभा नाम है: विधानसभा = "App_Web_hkc53urb" App_Web_hkc53urb.1.cs

एक आसान दृष्टिकोण का उपयोग करने हो सकता है:

आपका .cs फ़ाइल विधानसभा नाम एक संख्या के साथ concatenated हो जाएगा अस्थायी एएसपी.NET निर्देशिका में आपके दृश्य नाम के लिए विंडोज़ खोज।

11

जेनरेट की गई फ़ाइलों को ढूंढने के लिए एक त्वरित युक्ति यह है कि इसे अपनी .cshtml फ़ाइल में जोड़ना है।

यह आप तुरंत पूरा पथ

<div>This file is compiled to @this.GetType().Assembly.CodeBase</div> 
+0

क्या यह संकलन सफल होने पर ही मदद करने जा रहा है? –

+0

हां इसे प्रारंभिक फ़ोल्डर ढूंढने के लिए संकलित करना होगा, लेकिन यदि आप एक गैर-कार्यशील पृष्ठ को डीबग करने का प्रयास कर रहे हैं तो आप वास्तविक फ़ाइल नाम प्राप्त करने के लिए 'फ़ाइलों में ढूंढें' के साथ इस फ़ोल्डर में खोज कर फ़ाइल को ढूंढ सकते हैं - कुछ ऐसा 'App_Web_5d1gwd4o.16.cs'। बदलावों को न खोने के लिए सावधान रहना एक संकलित संस्करण पर वापस जाएं। यदि आप '.cstml' फ़ाइल को अपडेट करते हैं तो यह वही फ़ाइल अपडेट हो जाएगी और फिर आप इसकी जांच कर सकते हैं। –

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