त्रुटि को ठीक कैसे करें: स्कीमा बनाकर "विशेषता / तत्व के लिए स्कीमा जानकारी नहीं पा सकते हैं"


148

मेरे पास एक विन्डोज़ फॉर्म एप्लीकेशन है जो VS2010 में C # के साथ लिखा गया है और app.configफाइल में निम्नलिखित त्रुटियां हैं :

Message 4   Could not find schema information for the attribute 'name'
Message 8   Could not find schema information for the attribute 'name'
Message 12  Could not find schema information for the attribute 'name'
Message 5   Could not find schema information for the attribute 'serializeAs'
Message 15  Could not find schema information for the element 'CCP_Utility.Settings1'
Message 2   Could not find schema information for the element 'CCP_Utility.Properties.Settings'
Message 3   Could not find schema information for the element 'setting'
Message 1   Could not find schema information for the element 'userSettings'
Message 6   Could not find schema information for the element 'value'

इस समस्या को ठीक करने के लिए मुझे कोड में क्या बदलना होगा? मैं कहां से संपादन में क्या कर सकते हैं CCP_Utility.Settings1और CCP_Utility.Properties.Settings?

यहाँ app.configकोड है:

<configuration>
<configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <section name="CCP_Utility.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        <section name="CCP_Utility.Settings1" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
  </configSections>
<userSettings>
  <CCP_Utility.Properties.Settings>
    <setting name="SourceDir" serializeAs="String">
      <value />
    </setting>
    <setting name="TargetDir" serializeAs="String">
      <value />
    </setting>
    <setting name="CorpID" serializeAs="String">
      <value />
    </setting>
  </CCP_Utility.Properties.Settings>
    <CCP_Utility.Settings1>
        <setting name="sourceDir" serializeAs="String">
            <value />
        </setting>
        <setting name="targetDir" serializeAs="String">
            <value />
        </setting>
    </CCP_Utility.Settings1>

   </userSettings>
</configuration>

यह इस प्रश्न का एक प्रकार दिखता है: stackoverflow.com/questions/179927/… । @ User57433 द्वारा उत्तर की जाँच करें।
rsbarro

@rsbarro, EntLib कॉन्फ़िगरेशन उपकरण और DotNetConfig.xsd फ़ाइल कहाँ स्थित है?
ब्रायन मैक्कार्थी

क्षमा करें, मुझे महसूस नहीं हुआ कि उपयोगकर्ता ने प्रश्न के दो उत्तर पोस्ट किए हैं। मैं दूसरे उत्तर का उल्लेख कर रहा था। यह जवाब, जबकि सही था, थोड़ा अस्पष्ट था, इसलिए नीचे एक अधिक विस्तृत जवाब दिया गया था।
rsbarro

1
धन्यवाद, rsbarro! StingyJack का मूल प्रश्न एंटरप्राइज़ लाइब्रेरी कॉन्फ़िगरेशन अनुभागों का उपयोग करते हुए त्रुटियों तक सीमित था, न कि केवल किसी कस्टम कॉन्फ़िगरेशन अनुभाग।
लीसा

जवाबों:


169

अद्यतन Sept 2015
इस उत्तर, upvotes प्राप्त करने के लिए जारी है इसलिए मैं इसे यहाँ छोड़ करने के बाद से यह कुछ लोगों के लिए उपयोगी हो रहा है, लेकिन कृपया से अन्य उत्तर देखें जा रहा हूँ @reexmonkey और @Pressacco पहले। वे बेहतर परिणाम प्रदान कर सकते हैं।

मूल जवाब
यह एक शॉट दे:

  1. Visual Studio में, अपना app.config या web.config फ़ाइल खोलें।
  2. "XML" मेनू पर जाएं और "स्कीमा बनाएं" चुनें। इस क्रिया को "app.xsd" या "web.xsd" नामक एक नई फ़ाइल बनानी चाहिए।
  3. उस फ़ाइल को अपनी डिस्क पर सहेजें।
  4. अपने app.config या web.config पर जाएं और संपादन विंडो में , राइट क्लिक करें और गुणों का चयन करें। वहाँ से, सुनिश्चित करें कि आपके द्वारा अभी-अभी उत्पन्न xsd को स्कीमा संपत्ति में संदर्भित किया गया है। अगर यह नहीं है तो इसे जोड़ें।

इससे उन संदेशों को गायब हो जाना चाहिए।

मैंने अपने वेब फ़ोल्डर की जड़ में अपने web.xsd को सहेजा है (जो इसके लिए सबसे अच्छी जगह नहीं हो सकती है, लेकिन सिर्फ प्रदर्शन प्रयोजनों के लिए) और मेरी स्कीमा संपत्ति इस तरह दिखती है:

"C: \ Program Files (x86) \ Microsoft दृश्य स्टूडियो 10.0 \ xml \ स्कीमा \ DotNetConfig.xsd" "Web.xsd"


10
@rsbarro, आपकी प्रतिक्रिया के लिए धन्यवाद! आपके पास 2 xsd फाइलें क्यों हैं? मैंने स्कीमा बनाया और सिर्फ 1 फ़ाइल- app.xsd के साथ आया, जिसे मैंने रूट डायरेक्टरी में सेव किया। त्रुटियां समाप्त हो गईं, लेकिन अब मुझे एक चेतावनी मिली है: "वैश्विक तत्व 'विन्यास' को घोषित किया गया है"। कुछ पता है इसे कैसे सुधारना?
ब्रायन मैक्कार्थी

2
अपने स्कीमा का चयन करने या किसी अन्य स्कीमा को जोड़ने के लिए बस गुण संवाद का उपयोग करें। जब आप app.config देख रहे हों, तो संपादक विंडो में राइट क्लिक करें और गुण चुनें। आपको संपत्ति संपादक नियंत्रण में स्कीमा को देखना चाहिए जो पॉप अप करता है। इसके अलावा, यदि आप स्कीमा में "..." बटन पर क्लिक करते हैं, तो यह आपको उन स्कीमाओं का चयन करने देता है, जिन्हें आप एक अच्छी GUI का उपयोग करके अपनी कॉन्फिगर फाइल के लिए उपयोग करना चाहते हैं।
rsbarro

3
धन्यवाद। यह काम किया, लेकिन क्या एक अच्छी जगह है जिसे मैं यह समझने के लिए पढ़ सकता हूं कि ऐसा क्यों होता है? ऐसा लगता है जैसे मुझे बस अचानक से अपने web.config के लिए एक स्कीमा उत्पन्न करने की आवश्यकता है। DotNetOpenAuth के लिए बहुत सारी सामग्री जोड़ने के बाद और फिर स्क्रैच से एक edmx फ़ाइल को फिर से बनाना। यह समझ में आता है "आपने बहुत सी चीजों को बदल दिया, इसलिए कुछ जीत गया।" रास्ते की तरह, लेकिन यह जानना उपयोगी होगा कि web.config फ़ाइल को सहजता से स्कीमा की आवश्यकता क्यों होगी।
मेंढकघर

6
जब आप अपनी Web.xsd फ़ाइल जनरेट करते हैं, तो बस अपने वेब / app.config वर्गों (उपयोगकर्ता) में जोड़ने वाले स्कीमा को शामिल करें। पहले से ही डिफ़ॉल्ट स्कीमा या अन्य में .xsd शामिल अन्य सभी को छोड़ दें।
पगोटी

10
नहीं नहीं नहीं!! यह "समाधान" नहीं है, क्योंकि इसकी वास्तविक समस्या भी नहीं है। @ प्रेस के जवाब के लिए देखें और वोट करें। इसके अलावा reexmonkey का जवाब काम करता है। इस जवाब को इतने सकारात्मक वोट क्यों मिल रहे हैं? 1. बस उपेक्षा! App.config या web.config को बंद करें और संकलन करें जिसे आप संदेश भी नहीं देखेंगे। 2. हालांकि, कोई जरूरत नहीं है, .config गुणधर्म को सही क्लिक करके हल करें, जो वीएस को आपूर्ति किए गए XSD का मार्ग सही करता है। (@ प्रैस तंबाकू का जवाब) 3. या: प्रोजेक्ट सेटिंग्स डॉटनेट संस्करण और वापस बदलें। दो बार दोहराएं। (reexmonkey का उत्तर)। पैकेज अद्यतन के साथ समस्याएँ हो सकती हैं।
पशूट

217

समस्या को हल करने का सबसे आसान, सबसे आसान तरीका:

  1. समाधान एक्सप्लोरर में प्रोजेक्ट आइकन पर राइट-क्लिक करें और "गुण" चुनें।
  2. "एप्लिकेशन" टैब पर जाएं और पहले .NET लक्ष्य रूपरेखा चुनें।
  3. परिवर्तनों को सुरक्षित करें।
  4. "एप्लिकेशन" टैब पर जाएं और प्रारंभिक .NET लक्ष्य रूपरेखा चुनें।
  5. परिवर्तन सहेजें => समस्या हल!

11
मिठाई! VS2012 में मेरे लिए काम किया।
एमो

4
मेरे लिए भी काम किया (VS2013 प्रीमियम)।
रेमको

5
यह पहली कोशिश पर काम नहीं कर सकता है। वीएस 2013 एक्सप्रेस में काम करने से पहले मुझे इसे दो बार करने की आवश्यकता थी।
H2ONaCl

24
विजुअल स्टूडियो 2015 में मेरे लिए काम किया। अच्छा होगा यदि कोई समझा सकता है कि क्यों।
जोनाथन वुड

6
काम नहीं किया, VS2015 अपडेट 2, .NET 4.5.2। ऐसा लगता है कि यह संदेशों को दूर कर देता है, लेकिन फिर यदि आप बस XML फ़ाइल को फिर से खोलते हैं, तो वे वापस आ जाते हैं।
स्नूप

21

एक XSD EntLib 5 के साथ शामिल है, और विजुअल स्टूडियो स्कीमा निर्देशिका में स्थापित है। मेरे मामले में, यह पाया जा सकता है:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas\EnterpriseLibrary.Configuration.xsd

संदर्भ

  • विजुअल स्टूडियो 2010
  • एंटरप्राइज लाइब्रेरी 5

चेतावनी प्राप्त करने के लिए कदम

  1. अपने Visual Studio प्रोजेक्ट में खुले app.config
  2. XML दस्तावेज़ संपादक में राइट क्लिक करें, "गुण" चुनें
  3. "EnterpriseLibrary.Configuration.xsd" में पूरी तरह से योग्य पथ जोड़ें

एएसआईडीई

यह दोहराने योग्य है कि ये "त्रुटि सूची" "संदेश" ("तत्व के लिए स्कीमा जानकारी नहीं पा सके") केवल तभी दिखाई देते हैं जब आप ऐप खोलते हैं ।config फ़ाइल। यदि आप "सभी दस्तावेज़ बंद करें" और संकलित करते हैं ... कोई संदेश नहीं सूचित किया जाएगा।


1
पूरी तरह से योग्य पथ से मेरा मतलब था: एक निरपेक्ष पथ का उपयोग करें। उदाहरण के लिए C:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas\EnterpriseLibrary.Configuration.xsd। विंडोज ऑपरेटिंग सिस्टम पर, एक रिश्तेदार पथ शामिल हो सकता है। \ और .. \ वर्ण।
प्रातः

1
चेतावनी को हटाने के लिए XML फ़ाइल को बंद करने के बारे में जानकारी के लिए धन्यवाद। ) अजीब व्यवहार (
21:15 पर मैकिंटन

8
क्या Visual Studio 2015 में EnterpriseLibrary.Configuration.xsd गायब है?
ल्यूक

3
बस एक्सएमएल फ़ाइल को बंद करने से यह मुद्दा मेरे लिए दूर हो गया
तायगेोस्ट

1
धन्यवाद @Taegost, इसने मेरे लिए भी ऐसा किया। (मेरी समस्या, VS2013 के तहत कोड विश्लेषण कस्टम शब्दकोश, कहा गया, लेकिन एक ही लक्षण से थोड़ा अलग था)। और कुछ नहीं मैंने कोशिश की और यह मुझे पागल कर रहा था। जब मेरे पास संपादक में शब्दकोश खुला था, तो ऐसा प्रतीत होता है कि कोड विश्लेषण उपकरण इन त्रुटियों के कारण भी इसका उपयोग नहीं कर रहा था!
Sn00gan

1

मैंने पाया कि संबंधित मॉड्यूल में एक सिंटैक्स त्रुटि थी और यह संकलन नहीं था - संकलक ने मुझे यह नहीं बताया कि हालांकि। बस मुझे app.config सामान के बारे में त्रुटि दी। VS2010। एक बार जब मैंने सिंटैक्स त्रुटि को ठीक कर लिया था, तो सब अच्छा था।


1

यह त्रुटि तब होती है जब आपका प्रोजेक्ट डेट स्कीमा से बाहर होता है। नया बनाने के लिए विज़ुअल स्टूडियो का उपयोग करें।

Visual Studio में, निम्न कार्य करें:

  1. अपनी app.configया web.configफाइल खोलें ।
  2. XMLमेनू पर जाएं और चुनें Create Schema

यह उत्पन्न करने के लिए app#.xsd(विंडोज ऐप) या web#.xsd(वेबसाइट) फ़ाइल को ट्रिगर करेगा ।

  1. प्रोजेक्ट के रूट में नई जेनरेट की गई xsd फाइल (s) को सेव करें।
    • अपनी App.configया web.configफ़ाइल खोलें , पाठ-संपादक में राइट-क्लिक करें और गुणों का चयन करें और ...स्कीमाओं के मान के बगल में स्थित बटन पर क्लिक करें।
    • Addबटन का उपयोग करके नई उत्पन्न xsd फ़ाइल जोड़ें ।
    • क्लिक करें OK

विशेषता / तत्व के लिए नहीं मिल सका स्कीमा जानकारी त्रुटि (रों) अब समाधान होना चाहिए।


1

सिंपल: विजुअल स्टूडियो रिपोर्ट डिज़ाइनर में
। डिज़ाइन मोड में रिपोर्ट खोलें और डेटासेट को RDLC फ़ाइल से हटा दें
। समाधान एक्सप्लोरर खोलें और वास्तविक (दूषित) XSD फ़ाइल को हटाएँ
। RDLC फ़ाइल में डेटासेट वापस जोड़ें।
4. उपरोक्त प्रक्रिया नई XSD फ़ाइल बनाएगी।
5. अधिक विस्तृत नीचे है।

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


0

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


Overkill। वी.एस. के भीतर App.config फ़ाइल संपादक को बंद करना पर्याप्त है। वी.एस. बग, शायद।
झिरका हनिका

0

वीएस 2012 में मेरे पास यह था, जहां एक परियोजना में "अनुभाग का नाम" बदल दिया गया था, और मैंने इसे परियोजना में "app.config" को हटाकर तय किया, फिर "समाधान एक्सप्लोरर" में परियोजना पर राइट-क्लिक करके, चयन " गुण ", फिर" सेटिंग ", फिर सेटिंग में से एक में परिवर्तन करना, सहेजना और फिर से बनाना। इसने सही जानकारी के साथ एक नया ऐप बनाया।


0

मेरे मामले में मेरे पास अपने कोड में अस्पष्ट संदर्भ था। मैंने Visual Studio को पुनः आरंभ किया और त्रुटि संदेश देखने में सक्षम था। जब मैंने इसे हल किया तो दूसरी त्रुटि गायब हो गई।


-1

मैं जो कुछ भी लिखता हूं, उसमें से अधिकांश को पहले से ही दबाया गया है, लेकिन यह SpecFlow के लिए विशिष्ट है।

मुझे यह संदेश <specFlow>तत्व के लिए मिल रहा था और इसलिए मैंने इस उत्तरspecflow.xsd के समाधान के लिए एक फ़ाइल जोड़ी (कुछ संशोधनों के साथ तत्व के लिए अनुमति देने के लिए )।<plugins>

तत्पश्चात I (जैसे प्रेसकॉउन), दाएं app.configऔर चयनित गुणों की फाइल बफर के भीतर राइट क्लिक किया गया, और भीतर Schemas, मैंने "specflow.xsd"अंत में जोड़ा । Schemasअब की पूरी पढ़ता है:

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\xml\Schemas\1033\DotNetConfig.xsd" "C:\Program Files (x86)\Microsoft Visual Studio 12.0\xml\Schemas\EntityFrameworkConfig_6_1_0.xsd" "C:\Program Files (x86)\Microsoft Visual Studio 12.0\xml\Schemas\RazorCustomSchema.xsd" "specflow.xsd"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.