2010-05-19 9 views
5

मेरे पास .NET C# Winforms एप्लिकेशन है जो मेरी मशीन पर बहुत अच्छा काम करता है, लेकिन अगर मैं इसे किसी अन्य मशीन पर चलाने की कोशिश करता हूं, तो यह शुरू नहीं होता है। कोई त्रुटि संदेश नहीं, कोई क्रैश संदेश नहीं, कोई खिड़की नहीं - कुछ भी नहीं।.NET अनुप्रयोग चुपचाप शुरू होने में विफल रहता है जब असेंबली

मुझे पता चला है कि यह तब होता है जब एक संदर्भित असेंबली गुम होती है। मुझे लगता है कि यह .NET का सामान्य व्यवहार है और मेरे ऐप के लिए विशिष्ट नहीं है, है ना?

क्या .NET या मेरे एप्लिकेशन को कॉन्फ़िगर करने का कोई तरीका है जैसे कि यह ऐसे मामलों में त्रुटि संदेश की तरह "संदर्भित असेंबली गायब" को थकाता है?

+1

क्या आपने ईवेंट व्यूअर में एप्लिकेशन लॉग देखने का प्रयास किया है? आमतौर पर प्रोग्राम में दुर्घटनाग्रस्त क्यों हो रही है, वहां कुछ प्रकार का त्रुटि संदेश होता है। – TLiebe

+0

हाय TLiebe। आपके प्रतिक्रिया के लिए धन्येवाद। इसे एक एवर के रूप में लिखें और मैं इसे स्वीकार करूंगा :-) वास्तव में मुझे "त्रुटि रिपोर्टिंग" अक्षम होने पर भी त्रुटि लॉग संदेश मिला (जिसे कंपनी के पर्यावरण द्वारा निर्धारित किया गया है)। – chiccodoro

उत्तर

6

यह सामान्य नहीं है। ऐप एक अनचाहे अपवाद से मर जाएगा जो विंडोज त्रुटि रिपोर्ट को ट्रिगर करता है। मुझे लगता है कि लक्ष्य मशीन WER अक्षम या प्रतिस्थापित है।

+0

वह था! बहुत बुरा है कि त्रुटि रिपोर्ट केवल मुझे बताती है कि एप्लिकेशन क्रैश हो गया है, लेकिन क्या असेंबली गायब नहीं थी। और बहुत बुरा है कि exe मानक त्रुटि आउटपुट के लिए कुछ भी नहीं लिखता है "अच्छे पुरुषों की तरह" ... लेकिन कम से कम अब मुझे पता है कि यह पूरी तरह से चुप क्यों रहा। – chiccodoro

+0

ऐसा कोई जादू मौजूद नहीं है। आपको इसे स्वयं जोड़ना होगा, AppDomain.CurrentDomain.UnhandledException ईवेंट के लिए इवेंट हैंडलर लागू करना होगा। –

0

निष्पादन योग्य के अलावा, क्या आप डीएलएल को अपने डीबग/रिलीज फ़ोल्डर से गंतव्य मशीन पर भी कॉपी कर रहे हैं?

क्या आप अन्य मशीन पर संपूर्ण डीबग/रिलीज फ़ोल्डर की प्रतिलिपि बनाकर कोशिश कर सकते हैं।

अतिरिक्त संकेत के लिए आवेदन (यदि कोई है)/ईवेंट लॉग भी जांचें।

+0

हाय राम। वास्तव में यह मेरा सटीक कारण रहा कि एप्लिकेशन विफल क्यों हुआ: मैं कुछ असेंबली कॉपी करना भूल गया। लेकिन मेरा सवाल यह है कि आवेदन गायब असेंबली के बारे में शिकायत क्यों नहीं करता था। – chiccodoro

+0

@chiccodoro: - मुझे नहीं लगता कि यह .NET असेंबली के साथ संभव है। COM के लिए आप जांच सकते हैं कि डीएलएल पहले से ही निर्दिष्ट स्थान पर है या नहीं। .NET अनुप्रयोग के लिए यह असेंबली फेंक देगा (मुझे लगता है कि विधि नहीं मिली) यदि असेंबली गुम है। मेरे द्वारा एक सुझाव, प्रत्येक संदर्भ के लिए CopyLocal property = true बनाते हैं, इसलिए ऐसी सभी असेंबली आपके डीबग/रिलीज़ फ़ोल्डर का हिस्सा होंगी। – Ram

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

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