2010-05-06 17 views
6

मेरे पास .NET 2.0 एप्लिकेशन है जिसमें इसमें कुछ भी नहीं है। यह कल तक पर काम करता है प्रत्येक पीसी मैंने इसे स्थापित या कॉपी किया है, इससे कोई फर्क नहीं पड़ता कि 2.0, 3.0, 3.5 या 3.5 एसपी 1 स्थापित है, भले ही यह Win2000, XP या यहां तक ​​कि Win7 (कुल 100+ मशीनों में) हो।.NET एप्लिकेशन एक पीसी पर टूटा हुआ, अवांछित अपवाद

कल मैंने अपनी सामान्य स्थापना प्रक्रिया की और यह जांचने के लिए एक बार शुरू करना चाहता था कि सब कुछ काम कर रहा है ... और यह नहीं था। कार्यक्रम ने मुझे अनौपचारिक के साथ छोड़कर कड़ी मेहनत की "क्या आप इस त्रुटि की रिपोर्ट करना चाहते हैं?" संवाद। समस्या मेरे आवेदन के Main(String[] args) दिनचर्या में एक अपवाद है।

Event Type: ErrorEvent 
    Source: .NET Runtime 2.0 Error Reporting 
    Event Category: None 
    Event ID: 5000 
    Date: 05/05/2010 
    Time: 16:09:09 
    User: N/A 
    Computer: myClientPC 
    Description: 
    EventType clr20r3, P1 apomenu.exe, P2 1.4.90.53, P3 4bdedea4, 
    P4 system.configuration, P5 2.0.0.0, P6 4889de74, P7 1a6, P8 136, 
    P9 ioibmurhynrxkw0zxkyrvfn0boyyufow, P10 NIL. 

खैर ... महान जानकारी:

घटना दर्शक निम्नलिखित प्रविष्टि दिखा रहा है। खोज का एक बहुत बाद मैं अंत में (My.MyApplication.New(), Application.Designer.vb में सीधे UnhandledExceptions के लिए कोई हैंडलर जोड़कर) इस अपवाद बारे में अधिक जानकारी प्राप्त करने में सक्षम था:

System.Configuration.ConfigurationErrorsException 

    Configuration system failed to initialize 

    at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey) 
    at System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(String sectionName) 
    at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName) 
    at System.Configuration.ConfigurationManager.GetSection(String sectionName) 
    at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName) 
    at System.Net.Configuration.SettingsSectionInternal.get_Section() 
    at System.Net.Sockets.Socket.InitializeSockets() 
    at System.Net.Sockets.Socket.get_SupportsIPv4() 
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.get_HostName() 
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.RegisterChannel(Boolean SecureChannel) 
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine) 
    at MyAppNameHere.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Line 81. 

और इस बिंदु मैं अटक कर रहा हूँ पर ... मैं बाहर हूँ विचारों का मैं ढांचे से किसी भी प्रकार की कॉन्फ़िगरेशन सिस्टम का उपयोग नहीं कर रहा हूं (सिस्टम का कोई संदर्भ नहीं। कॉन्फ़िगरेशन, और वहां कोई MyAppnameHere.exe.config उत्पन्न या वितरित नहीं हुआ था, न ही मैंने पहले यह त्रुटि देखी है)। मुझे इस बग के बारे में a bug report at Microsoft (Google Cache) भी मिला (हालांकि, दूसरे संदर्भ में)। लेकिन जैसा लगता है, वे इसे भी नहीं देख पाएंगे।

प्रत्येक सहायता की बहुत सराहना की जाती है!

संपादित करें: मैं विजुअल स्टूडियो 2008 प्रोफेसर का उपयोग कर रहा हूं .. रिलीज में क्रैश होता है और क्लाइंट मशीन पर डीबग-बिल्ड होता है। सीधे इस मशीन पर एप्लिकेशन को डिबग करने से मुझे डर है, 300+ मील और उनके पास काम करने के लिए केवल दो कंप्यूटर हैं।

संपादित 2: अन्य .NET अनुप्रयोग ठीक काम कर रहे हैं।

Edit3: बाद एंड्री यह बताया, मैं भी भीतरी अपवाद पर एक नज़र था (मैं हमेशा भूल जाते हैं कि इस बात से मौजूद है):

System.Configuration.ConfigurationErrorsException 

    Unknown configraution directive "system.serviceModel". (c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config line 145) 

    at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal) 
    at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors) 
    at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors() 
    at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey) 

मैं इस खंड हटा दिया और अब सब कुछ काम कर रहा है उम्मीद की गई ... लेकिन अब एक सवाल मुझे परेशान कर रहा है: अन्य अनुप्रयोग क्यों काम करते थे?

+1

@ बॉबी क्या आंतरिक अपवाद है? – Andrey

+0

@ एंड्री: तुम मेरे नायक हो! – Bobby

+0

कृपया समझाएं :) – Andrey

उत्तर

3

वह त्रुटि इंगित करती है कि .config फ़ाइल में कुछ गड़बड़ है। यह एप्लिकेशन की कॉन्फ़िगरेशन फ़ाइल हो सकती है, या शायद machine.config हो सकती है।

मैं उस मशीन पर अनइंस्टॉल करने/पुनर्स्थापित करने का सुझाव दूंगा।


कोशिश करने की एक और बात यह देखने के लिए है कि क्या उपयोगकर्ता आपके ऐप को ऊंचा (व्यवस्थापक के रूप में चलाया जा सकता है) चला सकता है। कॉन्फ़िगरेशन सिस्टम उस फ़ाइल तक पहुंचने का प्रयास कर रहा है जिस पर उपयोगकर्ता के पास अधिकार नहीं हैं।अगर वे व्यवस्थापक के रूप में चला सकते हैं, तो पता लगाएं कि कॉन्फ़िगरेशन सिस्टम द्वारा कौन सी फाइलों तक पहुंचा जा सकता है और फिर उपयोगकर्ता को उन फ़ाइलों को उनके खाता अधिकारों को अनुमति देने के लिए निर्देश दें।

+0

एंड्री के संकेत के साथ मुझे पता चला कि 'machine.config' में एक ऐसा अनुभाग था जिसे पार्स नहीं किया जा सका। तो आप सही थे। हालांकि, मुझे समझ में नहीं आता कि अन्य .NET प्रोग्राम क्यों काम कर रहे थे, खासकर जब से मैंने उन अन्य अनुप्रयोगों को लिखा था और वे सभी .NET 2.0 के खिलाफ जुड़े हुए हैं। :/ – Bobby

0

ऐसा लगता है कि आप एप्लिकेशन सॉकेट सेट अप करने का प्रयास कर रहे हैं, शायद क्लाइंट पीसी में फ़ायरवॉल है जो सॉकेट को अवरुद्ध कर रहा है या शायद कुछ सुरक्षा सॉफ़्टवेयर के कारण कोड को चलने से रोका जा रहा है। क्या आपने अपना कोड व्यवस्थापक के रूप में चलाने की कोशिश की है और सभी सुरक्षा सॉफ़्टवेयर अक्षम हैं?

+0

यह संदेश और कॉल ढेर की व्याख्या नहीं करेगा। – SLaks

+0

केवल अवीरा एंटीवायर और विंडोज फ़ायरवॉल चल रहा है, दोनों बंद, एक ही अपवाद। – Bobby

0

आप "\ Local Settings \ Application Data \ < उपयोगकर्ता > ... \ दस्तावेज़ और सेटिंग्स \ < APPLICATION_NAME को > ... \ user.config" फ़ाइल को नष्ट करने का प्रयास किया था के रूप में http://support.microsoft.com/kb/956762/en-gb में विस्तृत? पथ बाद के विंडोज संस्करणों पर अलग हो सकता है।

+0

ऐसी कोई फ़ाइल मौजूद नहीं है। – Bobby

0

मुझे लगता है कि मशीन के ढांचे का खराब इंस्टॉल है।

अनइंस्टॉल करने का प्रयास करें, फिर .NET को पुनर्स्थापित करें।

+0

मेरी पहली छाप भी थी ... मैं इसे दूरस्थ स्थान और तथ्य यह है कि हम इस क्लाइंट के हार्डवेयर की सेवा नहीं करते हैं, क्योंकि मैं इसे 'अंतिम उपाय' मानता हूं। – Bobby

+1

@ बॉबी यह भी बेहतर है। उन्हें खुद करना है। – Will

1

कॉल स्टैक द्वारा निर्णय लेते हुए, ऐसा लगता है कि एक अस्पष्ट कारण के कारण चैनल गलत तरीके से कॉन्फ़िगर किया गया है, जब आप इसे किसी अन्य तरीके से देखते हैं, शायद आपके ज्ञान के बिना नेटवर्क में कोई बदलाव आया - आप सब के बाद क्या यह काम करता है, मैं बस यह सोचने में मदद नहीं कर सकता कि सिस्टम व्यापक कॉन्फ़िगरेशन फ़ाइल (machine.config) में अनुमतियों के कारण शायद गलत सेटिंग है?

सिस्टम विस्तृत कॉन्फ़िगरेशन .NET फ़ोल्डर में गहरे विंडोज फ़ोल्डर में पाया जाता है ... मुझे लगता है कि रनटाइम ठीक से शुरू नहीं हुआ ... क्या आपने .NET रनटाइम ऑप्टिमाइज़ेशन सेवा को पुनरारंभ करने का प्रयास किया है?

6

विंडोज 2008 आर 2 मशीन पर हमारे समान लक्षण थे। हमने डिस्कवर किया कि सुविधाओं से .NET Framework 3.5.1 इंस्टॉल करने से हमारी समस्या हल हो गई है। यह दो मशीनों के बीच का अंतर था जहां कोई दूसरा काम कर रहा था (गायब 3.5.1) नहीं था।

0

मुझे यह त्रुटि मिल रही थी जब मैंने अपने ऐप को उत्पादन सर्वर पर तैनात किया, मेरी स्थानीय विकास मशीन पर कोई त्रुटि उत्पन्न नहीं हुई। इसलिए मैंने कारण को बदल दिया: मेरे सर्वर में एक x64 ओएस है, मेरा ऐप डिफ़ॉल्ट x86 प्लेटफ़ॉर्म के साथ संकलित किया गया था, 'कोई भी CPU' विकल्प में बदल गया, और कोई और त्रुटि नहीं !!!

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