2011-09-01 14 views
7

कई उदाहरण के बाद के बारे में त्रुटि हो जाता है, मैं अपने app.config फ़ाइल के लिए निम्न जोड़ा जब मैं एप्लिकेशन चलाता हूं लेकिन जब मैं सेटिंग्स.सेटिंग फ़ाइल खोलने का प्रयास करता हूं, तो मुझे त्रुटि मिलती है:सी # खुलने Settings.settings app.config में अवैध एक्सएमएल (जब configSource जोड़ा)

"app.config फ़ाइल पढ़ने के दौरान एक त्रुटि आई। फ़ाइल दूषित हो सकती है या अवैध XML हो सकती है।"

सेटिंग्स.सेटिंग फ़ाइल खुलती है लेकिन अगर मैं इसे सहेजने का प्रयास करता हूं तो मुझे एक समान त्रुटि संदेश मिलता है।

App.config फ़ाइल:

<configSections> 
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
     <section name="test.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> 
    </sectionGroup> 
</configSections> 

<userSettings> 
    <test.Properties.Settings> 
     <setting name="server" serializeAs="String"> 
      <value /> 
     </setting> 
     <setting name="database" serializeAs="String"> 
      <value /> 
     </setting> 
     <setting name="g_language" serializeAs="String"> 
      <value>en-US</value> 
     </setting> 
     <setting name="timeSchedule1" serializeAs="String"> 
      <value /> 
     </setting> 
     <setting name="timeSchedule2" serializeAs="String"> 
      <value /> 
     </setting> 
     <setting name="helpLocation" serializeAs="String"> 
      <value /> 
     </setting> 
     <setting name="SQLAuthType" serializeAs="String"> 
      <value>0</value> 
     </setting> 
     <setting name="SQLLogin" serializeAs="String"> 
      <value /> 
     </setting> 
     <setting name="SQLPsw" serializeAs="String"> 
      <value /> 
     </setting> 
     <setting name="defaultTimeZone" serializeAs="String"> 
      <value /> 
     </setting> 
    </test.Properties.Settings> 
</userSettings> 

<connectionStrings configSource = "testConnect.config"/> 

+0

क्या यह आपका पूरा 'app.config' है? यदि ऐसा है, तो यह आसपास के तत्व ' '...'' गायब है। –

+1

नहीं, इसमें अन्य सामान हैं - किसी भी तरह इसे कॉपी और पेस्ट में याद किया गया है। – Pat

+1

यह कनेक्शनStrings पर configSource से संबंधित प्रतीत होता है। मैंने उस अनुभाग को हटाने के लिए लिया है जब मैं सेटिंग बदलता हूं और फिर इसे वापस डालता हूं। मैं इसे केवल VS2008 में देखता हूं। – Carl

उत्तर

0

यह अपने अनुप्रयोग कॉन्फ़िग फ़ाइल की तरह लगता है ठीक से कॉन्फ़िगर नहीं है, तो आप आप अनुप्रयोग config पोस्ट कर सकता है?

"An error occurred while reading the app.config file. The file might be corrupted or contain invalid XML."

सुनिश्चित करना है कि XML दस्तावेज़ वाक्य रचना सही था (http://validator.w3.org का प्रयोग करके) के बाद, मैं निकालें:

4

मैं एक परियोजना है कि एक ही त्रुटि पैदा किया गया था जब आप Settings.settings फ़ाइल को खोलने का प्रयास सिर्फ सौंप दिया गया था त्रुटि गायब होने तक एक्सएमएल तत्व।

मेरे मामले में, app.config फ़ाइल दो ConnectionStrings तत्वों का समावेश है:

त्रुटि उत्पन्न

  • विन्यास
    • ConnectionStrings
      • जोड़ने
    • ConnectionStrings
      • जोड़ने

कोई त्रुटि जेनरेट

  • विन्यास
    • ConnectionStrings
      • जोड़ने
      • जोड़ने

तो ऐसा लगता है कि इस त्रुटि जब एप्लिकेशन उत्पन्न किया जा सकता।कॉन्फ़िगर फ़ाइल में वे तत्व होते हैं जो वाक्य रचनात्मक रूप से सही होते हैं, लेकिन तार्किक रूप से गलत हैं।

+0

वही समस्या - एक ही समाधान। – Denis

+0

मेरे पास एक ही समस्या थी, लेकिन मेरे पास के अंतर्गत

तत्वों में से दो थे। – bunggo

1

मुझे मैन्युअल रूप से समाधान का नाम बदलने के दौरान एक ही त्रुटि का सामना करना पड़ा, यह प्रोजेक्ट्स और नेमस्पेस है। त्रुटि App.config फ़ाइल के <sectionGroup name="applicationSettings"> नोड में डुप्लिकेट <section> तत्वों के कारण हुई थी। मुझे यकीन नहीं है कि किस क्रिया ने डुप्लिकेट तत्वों को बनाया है, लेकिन समाधान डुप्लिकेट तत्व को हटाना था।

0

मुझे भी यह समस्या थी। ऐसा लगता है कि यह आपके app.config फ़ाइल के भीतर कई "विषमता" के कारण हो सकता है।

तरह से मैं इसे हल:

  1. , अपनी सेटिंग्स फ़ाइल और .cs की एक बैकअप प्रतिलिपि बनाने के भी अपने app.config की (सिर्फ मामले में)
  2. configSections तत्व सेटिंग्स की चर्चा करते हुए निकालें, जैसे app.config
  3. से userSettings app.config
  4. सहेजें अपने app.config
  5. सेटिंग खोलें संपादक से applicationSettings या userSettings वर्गों निकालें और किसी भी छोटा सा परिवर्तन करना,

बचाने आप अभी भी मिलता है त्रुटि, जब तक आपको डुप्लिकेट/अपमानजनक अनुभाग नहीं मिल जाता तब तक अनुभाग एक से एक को हटाने शुरू करें।

2

मुझे एक ही समस्या है। आप के रूप में, मैं एक अलग फ़ाइल में कनेक्शन तार है:

<connectionStrings configSource = "testConnect.config"/> 

मैं चारों ओर एक काम खोजने में सक्षम, तत्व को हटाने सेटिंग्स के साथ काम करते हुए अलावा अन्य नहीं किया गया है।

0
<configuration> 
    <connectionStrings> 
    <add name="" 
    </connectionStrings> 
</configuration> 

मेरे मामले मैं कनेक्शन तार के बहुत और <add name> में स्ट्रिंग में से एक था में खाली था। मुझे भी एक ही त्रुटि हुई क्योंकि प्रेसको ने उल्लेख किया था। धन्यवाद!

0

मैं बहुत देर से इस तरह से गन्ना कर सकता था, लेकिन मुझे भी एक ही समस्या थी और हालांकि सब कुछ app.config में सही दिखता था, मुझे यह त्रुटि मिल रही थी। app.config फ़ाइल में कुछ प्रॉपर्टी सेटिंग्स जोड़ने के बाद, मैं सेटिंग्स.सेटिंग फ़ाइल को संपादित/खोलने की कोशिश कर रहा था और जब मुझे यह त्रुटि मिली। मैंने जो किया था, मैंने ऐप.कॉन्फिग में किए गए सभी बदलावों को वापस कर दिया और सभी आवश्यक मान सीधे सेटिंग्स फ़ाइल में जोड़ा, जिसने इस मुद्दे को हल किया। सीधे app.config में मान जोड़ने से समस्या पैदा हो रही थी।

0
  1. एक और वीएस समाधान पर, उसी नाम और नामस्थान के साथ एक नई परियोजना बनाएं जिस पर आप काम कर रहे हैं।
  2. गुणों के तहत >> नई परियोजना के लिए सेटिंग्स, जिस तरह से आप काम कर रहे हैं उसमें सभी सेटिंग्स बनाएं।
  3. नए प्रोजेक्ट फ़ोल्डर में जाएं यानी सी: \ उपयोगकर्ता \ YourUser \ दस्तावेज़ \ Visual Studio 2022 \ Projects \ ReportsApplication1 \ ReportsApplication1 और ऐप की प्रतिलिपि बनाएँ।कॉन्फ़िग फ़ाइल
  4. पेस्ट इस फाइल को और अपने वर्तमान परियोजना
  5. (गया)
1

में एक की जगह मैं भी connectionStrings तत्व में configSource उपयोग कर रहा हूँ। मुझे लगता है कि मेरे पास यह मुद्दा था कि मैं निर्माण लक्ष्य निर्देशिका (उदा। Bin \ debug \ ConnectionStrings.config) से संबंधित पथ के साथ शामिल कॉन्फ़िगरेशन फ़ाइल का जिक्र कर रहा था। मुझे बिल्ड पर आउटपुट निर्देशिका में प्रतिलिपि बनाने के लिए मेरा कनेक्शन Strings.config लिंक किया गया आइटम सेट मिला है। हालांकि, वीएस आईडीई से bin\debug\program.exe.settings के बजाय इसे बनाने से पहले इसे हल करना चाहता है, इसलिए मैं या तो प्रत्येक परियोजना (जो लाभ को हटाता है) में, या पूरी तरह से योग्य पथ का उपयोग करके इस अतिरिक्त कॉन्फ़िगरेशन फ़ाइल की प्रतिलिपि बना रहा हूं। यदि मैं बाद के दृष्टिकोण का उपयोग करना चाहता हूं, तो मुझे किसी प्रकार के पर्यावरण चर के संदर्भ में पथ व्यक्त करना होगा ताकि कॉन्फ़िगरेशन फ़ाइल विकास मशीन और तैनाती मशीन पर काम करेगी। यह doable हो सकता है, लेकिन यह .NET won't actually expand the environment variables जैसा दिखता है।

यदि यह मदद करता है, तो आप https://stackoverflow.com/a/311835/611672 पर वर्णित स्कीमा के खिलाफ app.config को सत्यापित करने का प्रयास कर सकते हैं। मेरे मामले में, एक्सएमएल सत्यापन पास करता है लेकिन मुझे अभी भी त्रुटि संदेश मिलता है।

इसके अलावा, अगर किसी को इस सेटअप के साथ कोड प्रथम माइग्रेशन जोड़ने में समस्या हो रही है (एक त्रुटि हो रही है कि यह कनेक्शन Strings.config नहीं मिल पाती है), यह शायद एक ही मूल कारण है।

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