2011-08-10 15 views
8

में एक उपयोगकर्ता नियंत्रण युक्त एक फॉर्म खोलते समय विजुअल स्टूडियो 2010 क्रैश होता है मेरी समस्या निम्न है: मेरे पास मेरे विंडोज फॉर्म प्रोजेक्ट में एक कस्टम UserControl है। मैं इसे डिजाइनर में बस ठीक कर सकता हूं। लेकिन जैसे ही मैं उस फॉर्म को संपादित करना चाहता हूं जिसमें नियंत्रण स्टूडियो 2010 क्रैश हो।डिज़ाइन मोड

जहां तक ​​मैं नियंत्रण को देख सकता हूं और नियंत्रण के लोड-इवेंट को फॉर्म लोड करने पर निष्पादित किया जाता है।

मैंने डिजाइनर को डीबग करने के लिए वीएस -2010 के एक और उदाहरण का उपयोग करने की कोशिश की, लेकिन उस स्थान को नहीं मिला जहां निष्पादन होता है।

सबसे पहले मेरी समस्या यह प्रतीत होती है कि Threading.Timer ऑब्जेक्ट के लिए, जो मैं अपने ऑब्जेक्ट्स (यानी डेटाबेस से मूल्यों को लोड करना और इसी तरह से (त्रुटि पर बाद में प्रयास करने की कोशिश करता हूं)) के प्रारंभिक उपयोग के लिए उपयोग करता हूं)), कॉलबैक-फ़ंक्शन को डिज़ाइनर द्वारा निष्पादित किया गया था इसलिए इसने उन ऑब्जेक्ट तक पहुंचने का प्रयास किया जिनके लिए डिज़ाइन मोड में इसका कोई उपयोग नहीं था। Threading.Timer ऑब्जेक्ट का प्रारंभ लोड-इवेंट में है। लेकिन जब भी मैंने लोड इवेंट में सबकुछ टिप्पणी की थी (एक कोशिश को पकड़ने के अलावा Debugger.Break() डिज़ाइन को डीबग करने के लिए दूसरे उदाहरण VS2010 में ब्रेकपॉइंट रखने के लिए कॉल करें) जैसे ही मैं फॉर्म को संपादित करना चाहता हूं, विजुअल स्टूडियो क्रैश हो रहा है डिजाइन मोड में नियंत्रण।

मैं कुछ कदम मैं मेरी समस्या का जवाब के बिना यहां पाया की कोशिश की: User control always crashes Visual Studio

डिजाइनर जब लोड-घटना या निर्माता को पार्स लेना देना नहीं है इसलिए भले ही। यह अभी भी दुर्घटनाग्रस्त है।

क्या किसी को पता है कि विजुअल स्टूडियो को क्रैश करने और फ़ॉर्म डिजाइनर में उपयोगकर्ता नियंत्रण को सही तरीके से प्रदर्शित करने से रोकने के लिए मैं क्या कर सकता हूं?

उपयोगकर्ता नियंत्रण युक्त परियोजना कुछ कस्टम पुस्तकालयों और पुस्तकालय परियोजना का भी संदर्भ देती है। मुझे नहीं पता कि समस्या के साथ कुछ करने के लिए क्या हो सकता है।

+0

संबंधित प्रश्न ... और मेरे लिए काम किया गया जवाब: http://stackoverflow.com/a/3578917/492 भी देखें –

उत्तर

3

किसी भी तरह हल अपने ही समस्या ...

किसी तरह डिजाइनर मोड मैं अपने आप बरगलाया डिबग करने के लिए कोशिश कर रहा द्वारा

एक Debugger.Break() लोड-इवेंट में स्थापना, एक बहुत बुरा विचार प्रपत्र डिजाइनर मोड में उपयोगकर्ता नियंत्रण युक्त खोलने का प्रयास करते समय था क्योंकि आप का एक और उदाहरण के साथ दृश्य स्टूडियो डीबगिंग नहीं कर रहे हैं, तो विजुअल स्टूडियो तो डीबगर। ब्रेक() एप्लिकेशन को रोक देगा और इसलिए विजुअल स्टूडियो इंस्टेंस को क्रैश करेगा।

उपयोगकर्ता नियंत्रण के डिजाइनरमोड प्रॉपर्टी का उपयोग करके अंत में मैं डिजाइनर को अपने थ्रेडिंग के प्रारंभिकरण को निष्पादित करने से रोकने में सक्षम था। टाइमर ऑब्जेक्ट्स इस तरह से समस्या को हल कर सकता है।

0

मेरे पास यह वही समस्या थी (वीएस 2005), और चिह्नित उत्तर भी मेरे लिए काम नहीं करता था। मैं अंत में अपने समाधान में "ओबीजे" और "बिन" फ़ोल्डर्स को हटाकर और रिलीज मोड में प्रोजेक्ट का पुनर्निर्माण करके इस मुद्दे को हल करने में सक्षम था। मुझे उम्मीद है कि यह किसी और को मदद करेगा जो इस मुद्दे पर है।

0

मेरी समस्या में, जब भी मैंने समाधान खोला तो हर बार जब मैंने समाधान खोला तो डिज़ाइन मोड खोलने के बाद पूरे समाधान को क्रैश कर दिया और इस प्रकार पूरे समाधान को क्रैश करने का कारण बन गया, यह उपयोगकर्ता नियंत्रण के कारण हो सकता था लेकिन मैं हल करने के लिए समाधान का उपयोग नहीं कर सका।

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

मैंने समाधान के बाहर एएसपीएक्स फ़ाइल खोला, सचमुच केवल फ्रंटेंड कोड फ़ाइल, नोटपैड में या वीएस सहित किसी भी टेक्स्ट एडिटर में किया जा सकता है। सभी कोड पर टिप्पणी की गई (जावा कोड इससे कोई फर्क नहीं पड़ता क्योंकि कुछ भी इसे कॉल नहीं कर रहा है) फ़ाइल को सहेजा और बंद कर दिया। समाधान को फिर से खोल दिया। हालांकि डिजाइनर दृश्य खोला गया, इस बार यह क्रैश नहीं हुआ क्योंकि प्रक्रिया करने के लिए कुछ भी नहीं था। तब मैंने अनुभागों, कोड की विभिन्न मात्रा, 20 लाइनें, 100 लाइनों में कोड को असम्बद्ध किया ... हर बार डिज़ाइनर व्यू में वापस जाने के लिए यह जांचने के लिए कि यह क्रैश होगा या नहीं। जब मैं पूरा करूँगा (कोई दुर्घटना नहीं!) मैं जहां से छोड़ा था वहां से जारी रखने में सक्षम था। उम्मीद है कि यह मदद करता है!

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