2008-09-18 18 views
28

तो मुझे अपने ऐप_Code फ़ोल्डर के साथ एक नई वेबसाइट पर वास्तव में अजीब समस्या है जो मैं डिजाइन कर रहा हूं।App_Code फ़ोल्डर के मुद्दे

मेरे पास App_Code फ़ोल्डर में नामस्थान के अंदर एक मूल कक्षा है। जब मैं नेमस्पेस सेट करता हूं और कक्षा से ऑब्जेक्ट करता हूं तो सब कुछ आईडीई में ठीक काम करता है। यह होवर पर कक्षा सारांश लाता है, और जब आप "डीफिनिशन पर जाएं" पर क्लिक करते हैं तो यह कक्षा फ़ाइल में जाता है। और यह ठीक localy भी काम करता है।

हालांकि, जब मैं अपने सर्वर पर साइट को लोड, मैं यह त्रुटि संदेश जब मुझे लगता है कि पृष्ठ का उपयोग मिलता है:

रेखा 10: System.Web.UI.WebControls उपयोग करते हुए;
लाइन 11: System.Web.UI.WebControls.WebParts का उपयोग करना;
लाइन 12: का उपयोग कर xxxx.xxxx

कंपाइलर त्रुटि संदेश: CS0246: प्रकार या नाम स्थान का नाम 'XXXXXX' नहीं पाया जा सका (यदि आप एक का उपयोग कर के निर्देश या एक विधानसभा संदर्भ याद कर रहे हैं?)

मुझे इस तथ्य के बारे में पता है कि कक्षा फ़ाइल वहां है। किसी को भी क्या पता चल रहा है के बारे में कोई विचार है?

संपादन:

जॉन, हाँ यह एक 2.0 साइट है।

+0

आपने साइट पर सर्वर को कैसे प्रकाशित किया? – Kev

उत्तर

18

यदि आपका आवेदन एक वेब साइट परियोजना एक वेब अनुप्रयोग परियोजना के बजाय है, कोड फ़ाइलों App_Code फ़ोल्डर में नहीं होना चाहिए (बेवकूफ डिजाइन, मुझे पता है)। कोड या कुछ नामक एक नया फ़ोल्डर बनाएं और उन्हें वहां रखें।

इससे मुझे सभी प्रकार की समस्याएं हुईं जब मैंने पुरानी नेट वेब साइट्स को एप्लिकेशन प्रोजेक्ट में अपग्रेड किया।

+0

यह ध्यान देने योग्य है कि यदि आप बस कोड फ़ाइलों को App_Code फ़ोल्डर से बाहर खींचते हैं और अपने नए फ़ोल्डर में खींचते हैं, तो उनकी बिल्ड एक्शन प्रॉपर्टी अभी भी सामग्री पर सेट हो सकती है, और बाकी का एप्लिकेशन नामस्थानों को देखने में सक्षम नहीं होगा, संकलित करने के लिए इसे सेट करने के नीचे दिए गए उत्तरों में से एक उल्लेख इस प्रकार होगा, मुझे लगता है कि डिफ़ॉल्ट रूप से App_Code फ़ोल्डर में बनाई गई किसी भी क्लास फ़ाइल को WAP प्रोजेक्ट में भी एक्शन = सामग्री बनाने के लिए सेट किया जाएगा। – JsonStatham

+0

समय की बर्बादी क्या है! 6 महीने के लिए सिरदर्द के अलावा कुछ भी नहीं! पोस्ट करने का शुक्रिया! +1 http://stackoverflow.com/questions/26135251/catch-exceptions-in-asp-net-resulting-from-generic-handler-ashx-file/26136417#26136417 – MacGyver

+0

हाँ, मेरे पास एक वेब ऐप और सी # प्रोजेक्ट था प्रकार के। http://www.mztools.com/Articles/2008/MZ2008017.aspx – MacGyver

1

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

अब मैं की किसी को भी आरोप लगाया जाना नहीं चाहते हैं कुछ भी-यह सिर्फ एक अनुमान-लेकिन है तो आप शायद यकीन है कि वहाँ किसी भी त्रुटि के अपने संदर्भित कोड फ़ाइल में नहीं हैं बनाना चाहिए।

1

आप साइट कैसे प्रकाशित के आधार पर इसे App_Code में देखने के लिए नहीं होगा, यह उस वर्ग बजाय शामिल बिन फ़ोल्डर में एक DLL के लिए ध्यान देंगे। आपने अपनी वेबसाइट को सर्वर पर कैसे स्थानांतरित किया?

2

यह सिर्फ मुझे क्या हुआ और समाधान था कि App_Code (और App_Data) सर्वर के रूट में नहीं रखा गया था, लेकिन एक सबफ़ोल्डर कि सब कुछ का आयोजन किया है। जड़ में होना चाहिए!

63
समस्या यह है कि अपनी कक्षाओं संकलित नहीं कर रहे हैं

, आप बस App_Code फ़ोल्डर में किसी भी वर्ग के गुणों में जाकर इस मुद्दे को हल करने और बदलने के लिए यह "सामग्री" से संपत्ति 'एक्शन बिल्ड' "संकलित" करने के लिए

है जाएगा
+0

क्या प्रत्येक कक्षा के निर्माण कार्य को एक बार में बदलने का कोई साधन है? – binard

+2

ऐसा करने का ramification क्या हैं, क्या कोई कारण यह डिफ़ॉल्ट सेटिंग है? – Coops

+1

मैं अपनी संपत्ति को अक्षम करने में सक्षम नहीं हूं – Lijo

0

जो लोग अनुसरण करते हैं उनके लिए ... मेरे पास मुद्दों का एक ही सेट था, लेकिन ऐसा इसलिए हुआ क्योंकि मैंने App_Code, 'HTML' में एक वर्ग का नाम दिया था। यह पता लगाने के लिए एक लंबा समय लगा कि यह सिर्फ एक नाम संघर्ष था क्योंकि संकलक मुझे बता रहा था कि समस्या क्या थी।

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