2008-09-17 33 views
5

ठीक है, यह मुझे पागल ड्राइव करने लगता है। मेरे पास एएसपीनेट वेबपैप है। बहुत सरल, .aspx.vb में अधिकांश कोड, और App_Code में कुछ कक्षाएं।त्रुटि बीसी 30002 - टाइप XXX को परिभाषित नहीं किया गया है

त्रुटि BC30002:

समस्या है, जो केवल आज होने की (भले ही कोड के सबसे पहले से ही लिखा गया था) शुरू हो गया है, कि एक बार एक समय में, मैं यह त्रुटि संदेश है प्रकार ' XXX 'परिभाषित नहीं किया गया है

हर बार जब मैं App_Code फ़ोल्डर में फ़ाइलों को संशोधित करता हूं तो त्रुटि होती है। संपादित करें: ठीक है, यह तब भी होता है जब मैं थोड़ी देर के लिए कुछ भी छूता हूं तो पृष्ठ को रीफ्रेश करें। मैं अभी भी यह समझने की कोशिश कर रहा हूं कि इस त्रुटि को कैसे ट्रिगर करें।

मुझे कुछ भी छूए बिना थोड़ा इंतजार करना है, फिर पृष्ठ को रीफ्रेश करें और यह काम करता है, लेकिन यह बहुत परेशान है।

तो मैंने थोड़ी सी खोज की, लेकिन आयात को छोड़कर कुछ भी नहीं आया। कोई उपाय ?

उत्तर

4

मुझे लगता है कि मुझे समस्या मिली है।

मेरे कोड इस तरह था:

Imports CMS 

Sub Whatever() 
    Dim a as new Arbo.MyObject() ' Arbo is a namespace inside CMS 
    Dim b as new Util.MyOtherObject() ' Util is a namespace inside Util 
End Sub 

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

मैं इसे इस तरह दुबारा लिखा:

Imports CMS.Arbo 
Imports CMS.Util 

Sub Whatever() 
    Dim a as new MyObject() 
    Dim b as new MyOtherObject() 
End Sub 

और अब यह काम करता है ...

4

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

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

रनटाइम को इंगित करने के लिए "@ संदर्भ" निर्देश का उपयोग करने का प्रयास करें कि आपका पृष्ठ और आपके प्रकार वाले फ़ाइल को एक ही असेंबली में संकलित किया जाना चाहिए। जैसे कि यह हर बार वेबसाइट spins (एप्लिकेशन हर बार जब आप app_code को छूने और शायद आप आईआईएस निष्क्रियता के एक्स मिनट के बाद वेबसाइट को बंद करने के लिए कॉन्फ़िगर किया है पुनर्नवीनीकरण हो जाता है) होता है

@ Reference - MSDN

0

लग रहा है।

मुझे लगता है कि यह एएसपीनेट कार्यकर्ता प्रक्रिया के साथ कुछ करने के लिए सर्वर पर सही पहुंच अधिकार नहीं है। तो यह एक असेंबली लोड करने की कोशिश कर रहा है और इनकार किया जा रहा है।

Check this link और तालिका 1 9.3 सभी फ़ोल्डर्स की सूची के लिए कार्यकर्ता प्रक्रिया खाते में कार्य करने के लिए पहुंच होनी चाहिए। और अपनी आभासी निर्देशिका में सभी फ़ाइलों और फ़ोल्डर्स के अधिकार देने के लिए मत भूलना!

0

यह मुझे क्या हुआ के बाद मैं एक पुराने समाधान के लिए एक नई परियोजना गयी।मैंने अन्य 'पुरानी' परियोजनाओं से मेल खाने के लिए लक्ष्य ढांचे को कम किया और त्रुटि दूर हो गई।

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