कॉन्फ़िगरेशन तत्व घोषित नहीं किया गया है


85

मैं विजुअल स्टूडियो 2012 एक्सप्रेस संस्करण में कुछ काम कर रहा हूं। मैंने एक App.config XML फ़ाइल इस प्रकार जोड़ी है:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>

पहली बात यह है कि एक चेतावनी है कि "विन्यास 'तत्व घोषित नहीं है" आता है। क्या किसी को पता है कि ये क्यों हो रहा है? ऐसा लगता है कि जब तक यह हल नहीं हो जाता तब तक तत्वों को अंदर घोषित नहीं किया जा सकता है।

धन्यवाद!

यह संपूर्ण XML है:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="Version" value="779" />
<add key="TimeOut" value="60000" />
<add key="LogFileName" value="Log.txt" />
<!-- your Developer Id with eBay -->
<add key="Environment.DevId" value="" />
<!-- your Application Id with eBay -->
<add key="Environment.AppId" value="" />
<!-- your Application Certificate with eBay -->
<add key="Environment.CertId" value="" />
<!-- API Server URL -->
<!-- For production site use: https://api.ebay.com/wsapi -->
<!-- For Sandbox use: https://api.sandbox.ebay.com/wsapi -->
<add key="Environment.ApiServerUrl" value="https://api.sandbox.ebay.com/wsapi" />
<!-- EPS Server URL -->
<!-- For production site use: https://api.ebay.com/ws/api.dll"/-->
<add key="Environment.EpsServerUrl" value="https://api.sandbox.ebay.com/ws/api.dll" />
<!-- eBay Signin URL -->
<!-- For production site use: https://signin.ebay.com/ws/eBayISAPI.dll?SignIn -->
<!-- https://signin.sandbox.ebay.com/ws/eBayISAPI.dll?SignIn -->
<add key="Environment.SignInUrl" value="https://signin.sandbox.ebay.com/ws/eBayISAPI.dll?SignIn" />
<!-- ViewItem URL -->
<!-- For production site use: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item={0} -->
<add key="Environment.ViewItemUrl" value="http://cgi.sandbox.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item={0}" />
<!-- token is for both API server and EPS server -->
<add key="UserAccount.ApiToken" value="" />
<!-- eBay site ID -->
<add key="UserAccount.eBayUserSiteId" value="0" />
<add key="logexception" value="true"/>
<add key="logmessages" value="true"/>
<add key="logsdkmessages" value="true"/>
<add key="logsdk" value="true"/>
<add key="logfile" value="Log.txt"/>
<!-- Rule Name-->
<add key="RuName" value=""/>
<!-- Set this if you access eBay API server behind a proxy server-->
<add key="Proxy.Host" value =""/>
<add key="Proxy.Port" value =""/>
<!-- set proxy server username/password if necessary-->
<add key="Proxy.Username" value=""/>
<add key="Proxy.Password" value=""/>


4
आपको DotNetConfig.xsd फ़ाइल की तरह दिखता है पर एक नज़र रखना पड़ सकता है। C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Xml \ स्कीमा जैसे कुछ स्थानों पर पाया जा सकता है
Adriaan Stander

सटीक त्रुटि क्या है, इससे क्या चेतावनी मिलती है? एक पूर्ण ढेर फ्रेम के साथ कृपया?
साइमन मूरियर

यह मेरे VS2012 एक्सप्रेस संस्करण पर काम करता है।
मार्टिन मुल्डर

1
यह एक अंतर्मुखी मुद्दा है। एक नए कंसोल एप्लिकेशन के साथ, App.config खोलें, और <कॉन्फ़िगरेशन> तत्व को "" कॉन्फ़िगरेशन 'तत्व घोषित नहीं किया गया है "त्रुटि के साथ नीले रंग में रेखांकित किया गया है, हालांकि, आप अभी भी अपने साथ एक <appsettings> अनुभाग जोड़ सकते हैं इसमें सेटिंग्स और उन्हें विन्यास प्रबंधक वर्ग के साथ संदर्भित करता है, लेकिन जब ऐपसेटिंग और <कुंजी जोड़ें ... आइटम, इंटेलीजेंस दिखाई नहीं देता है। विशुद्ध रूप से एक अंतर्मुखी मुद्दा है जिसके बारे में मुझे अधिक जानकारी चाहिए थी, इसलिए इनाम।
seekerOfKnowledge

1
गलत उत्तर चुना गया।
JJS

जवाबों:


22

मेरी भी यही समस्या थी। यह एक त्रुटि नहीं है, यह केवल एक चेतावनी है; इसलिए आपका आवेदन अभी भी संकलित होना चाहिए। मैंने निम्नलिखित सरल कॉन्फिग फ़ाइल का उपयोग किया है और चेतावनी अभी भी निर्मित है।

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime 
             version="v4.0"sku=".NETFramework,
             Version=v4.5"/>
    </startup>
</configuration>

यह एक ऐसा मुद्दा है जिसे MSDN वेबसाइट पर उठाया गया है, लेकिन ऐसा लगता है कि इसे संतोषजनक ढंग से हल नहीं किया गया है। नीचे लिंक देखें:

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvcs/thread/18a1074f-668f-4fe3-a8d9-4440db797439



340

XML मेनू (विज़ुअल स्टूडियो टॉप मेनू आइटम) पर जाएं स्कीमा चुनें और DotNetConfig.xsd के लिए खोजें और इस स्कीमा का उपयोग करें चुनें ।

एक्सएमएल - स्कीमा

XML स्कीमा संपादित करें

आपकी समस्या निश्चित रूप से हल हो जाएगी


6
इसका उत्तर होना चाहिए। यह उत्तर पोस्ट किए जाने की तारीख (अगस्त '15) को देखते हुए, मुझे यह भी निश्चित नहीं है कि यह उत्तर प्रश्न के समय मौजूद था (Sep '12)। (क्या यह?)
इयान

1
यह अकेले मेरे काम नहीं आया। इस पर विचार करें: stackoverflow.com/questions/4355278/…
मैट

2
इस उत्तर ने Visual Studio 2017 पर समस्या हल कर दी। वैसे भी, मुझे समझ में नहीं आता है कि .config फ़ाइल बनाते समय DotNetConfig.xsd का उपयोग डिफ़ॉल्ट रूप से क्यों नहीं किया जाता है।
गेल

रामकृष्ण तुम दा आदमी! पूरी तरह से काम किया। एप्लिकेशन अभी भी संकलित करता है लेकिन कष्टप्रद चेतावनी संदेश अब चला गया है।
पफर्गोवोवी

यह काम करता है, इस बारे में अधिक जानकारी जो मैंने अपने समाधान में देखी है। नेट संस्करण 4.5 के लिए है। DotNetConfig.xsd स्कीमा डिफ़ॉल्ट रूप से चयनित है लेकिन .net संस्करण 4.6 DotNetConfig.xsd के लिए इस उत्तर में सुझाए गए @Ramakrishna के रूप में चयनित होने की आवश्यकता है। धन्यवाद!
ZeeProgrammer

33
<configuration xmlns="schema URL">
   <!-- configuration settings -->
</configuration>

ऊपर और कोशिश की तरह बदलाव करें


1
चेतावनी दूर हो गई है। बहुत धन्यवाद। मुझे इसका उत्तर अवश्य देना चाहिए।
ईएए

ऐसा लगता है कि अब कॉन्फ़िगरेशन के अंदर के तत्व पर्यावरण द्वारा नहीं पढ़े जाते हैं जो विजुअल स्टूडियो 2012 एक्सप्रेस संस्करण है।
ईएए

@sepoto: अगर u xmlns नेमस्पेस को हटाता है तो यह फिर से चेतावनी देता है
रवींद्र बागले

1
मैंने अपनी पोस्ट में App.config को इसकी संपूर्णता में शामिल किया। किसी कारण से मैं विजुअल स्टूडियो 2012 एक्सप्रेस सी # पर्यावरण के साथ ठीक से काम करने में सक्षम नहीं हो पाया हूं। मैंने ऊपर आपके समाधान की कोशिश की, लेकिन फिर मुझे कॉन्फ़िगरेशन के अंदर के तत्वों के लिए चेतावनी मिली ताकि चीजें मूट हो गईं। मैं आपकी मदद की बहुत सराहना करता हूं, लेकिन मुझे विश्वास नहीं होता कि कोई उत्तर अभी तक है।
Eae

1
यह उत्तर आंशिक रूप से सही है: एक xmlns को निर्दिष्ट (मूल्य कुछ भी हो सकता है), चेतावनी के लिए configurationगायब है, लेकिन एक जानकारी संदेश के लिए जारी किया जाता है configurationऔर हर subelement के लिए। यदि xmlns सभी तत्वों को परिभाषित करने वाले वास्तविक DTD को इंगित करता है, तो उन संदेशों को भी गायब हो जाना चाहिए।
माइक सी।

6

मुझे -> XML मेनू पर जाना था (विजुअल स्टूडियो टॉप मेनू आइटम) स्कीमा चुनें और DotNetConfig.xsd और RazorCustomSchema.xsd और EntityFrameworkConfig_3_1_0.xsd चुनें


1

मैं सिर्फ एक xaml परियोजना पर काम करते समय एक ऑटोजेनरेटेड xml फ़ाइल के अंदर इस चेतावनी पॉपअप था।

डीबग-> क्लीन सॉल्यूशन और डीबग-> रिबिल्ड सॉल्यूशन का उपयोग करके इसे ठीक किया। स्कीमा के साथ फैंसी पाने से पहले कोशिश करना चाहते हैं।


0

Visual Studio 2013 एक्सप्रेस संस्करण DotNetConfig.xsd ( https://connect.microsoft.com/VisualStudio/feedback/details/817322/dotnetconfig-xsd-file-not-pret-in-vs-2013-express-for- याद आ रहा है डेस्कटॉप )।

तो वीएस 2013 एक्सप्रेस में चेतावनी से छुटकारा पाने के लिए:

  • किसी अन्य सिस्टम या वेब से DotNetConfig.xsd की एक प्रति प्राप्त करें (मैंने https://gist.github.com/eed3si9n/5dd7dd98ad2b3f668928b2347735353 ) का उपयोग किया
  • C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Xml \ स्कीमा पर डाउनलोड करें
  • रामकृष्ण के उत्तर के बाद स्कीमा जोड़ें

चेतावनी दी जानी चाहिए।


0

इस स्कीमा का उपयोग करें चुनें। DotNetConfig.xsd

XLM मेनू ..... विज़ुअल स्टूडियो

अच्छी तरह से काम।


कृपया इस बारे में स्पष्टीकरण दें कि आपका कोड केवल बहुत सारे कोड के बजाय बग को कैसे ठीक करता है - stackoverflow.com/help/how-to-answer
Dov Benyomin Sohacheski

0

मुझे अपनी ड्राइव पर कम जगह मिल रही थी जिसके परिणामस्वरूप मेरे आवेदन समाधान का अधूरा लोड हो सकता है। यह "कॉन्फ़िगरेशन-एलिमेंट-एलिमेंट-इज़ नॉट-घोषित" समस्या हल हो गई जब मैंने अपने ड्राइव पर कुछ जगह बनाई।


0

मुझे भी वही चेतावनी मिली। कुछ समय के लिए सोचने के बाद मुझे एसक्यूएल (MS SQL) के साथ काम करने में अपनी त्रुटि का एहसास हुआ।

Warning: the 'configuration' element is not declared

C # का उपयोग करना

App.Config कोड:

<connectionStrings>
    <add name="dbx" connectionString="Data Source=ServerNameHere;Initial Catalog=DatabaseNameHere;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

* यह कनेक्शन नाम में डेटाबेस का नाम कहता है, जब मैं अपने SQL कोड में एक अभ्यास के रूप में प्लग करता हूं तो मैं हमेशा डेटाबेस नाम, स्कीमा, फिर तालिका का उपयोग करता हूं। यह अभ्यास विज़ुअल स्टूडियो में अच्छी तरह से नहीं हुआ क्योंकि मैं एक शुरुआत हूँ। मैंने अपने SQL सिंटैक्स से db नाम को हटा दिया और केवल स्कीमा, डेटा टेबल से कॉल किया। इससे मेरे लिए समस्या हल हो गई।

Form.CS:

 using (SqlCommand cmd = new SqlCommand("SELECT * FROM [DatabaseName].[Schema].[TableName] WHERE [MEPeriod] = '2020-06-01'", con))

अद्यतित:

using (SqlCommand cmd = new SqlCommand("SELECT * FROM [Schema].[TableName] WHERE [MEPeriod] = '2020-06-01'", con))

यह मेरे लिए काम करता है, मुझे आशा है कि यह उपयोगी है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.