Das Konfigurationselement ist nicht deklariert


84

Ich arbeite in Visual Studio 2012 Express Edition. Ich habe eine App.config-XML-Datei wie folgt hinzugefügt:

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

Als erstes wird eine Warnung angezeigt, die besagt, dass das Konfigurationselement nicht deklariert ist. Weiß jemand, warum das passiert? Es sieht so aus, als könnten Elemente innerhalb von nicht deklariert werden, bis dies behoben ist.

Vielen Dank!

Dies ist das gesamte 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
Möglicherweise müssen Sie sich ansehen, wie die Datei DotNetConfig.xsd aussieht. finden Sie unter C: \ Programme (x86) \ Microsoft Visual Studio 10.0 \ Xml \ Schemas
Adriaan Stander

Was ist der genaue Fehler, was gibt diese Warnung aus? mit einem vollen Stapelrahmen bitte?
Simon Mourier

Es funktioniert auf meiner VS2012 Express Edition.
Martin Mulder

1
Es ist ein Intellisense-Problem. Öffnen Sie bei einer brandneuen Konsolenanwendung die App.config, und das <configuration> -Element wird mit dem Fehler "Das 'configuration'-Element ist nicht deklariert" blau unterstrichen. Sie können jedoch weiterhin einen <appsettings> -Abschnitt mit Ihrem hinzufügen Einstellungen darin und verweisen sie mit der ConfigurationManager-Klasse, aber wenn Sie die Appsettings und <add key ... -Elemente hinzufügen, wird Intellisense nicht angezeigt. Rein ein Intellisense-Thema, über das ich mehr Informationen haben wollte, daher die Prämie.
seekerOfKnowledge

1
falsche Antwort gewählt.
JJS

Antworten:


21

Ich hatte das gleiche Problem. Es ist kein Fehler, es ist einfach eine Warnung; Ihre Anwendung sollte also weiterhin kompiliert werden. Ich habe die folgende einfache Konfigurationsdatei verwendet und die Warnung wird immer noch erzeugt.

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

Dieses Problem wurde auf der MSDN-Website angesprochen, scheint jedoch nicht zufriedenstellend gelöst worden zu sein. Siehe Link unten:

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



333

Gehen Sie zum XML-Menü (Visual Studio-Hauptmenüelement), wählen Sie Schemas und suchen Sie nach DotNetConfig.xsd und wählen Sie Dieses Schema verwenden .

XML - Schemata

XML-Schema bearbeiten

Ihr Problem wird sicher gelöst


6
Dies sollte die Antwort sein. Angesichts des Datums, an dem diese Antwort veröffentlicht wurde (15. August), bin ich mir nicht sicher, ob diese Antwort zum Zeitpunkt der Frage (12. September) vorhanden war. (Hat es?)
Ian

1
Das allein hat bei mir nicht funktioniert. Beachten
Matt

2
Diese Antwort löste das Problem in Visual Studio 2017. Wie auch immer, ich verstehe nicht, warum die DotNetConfig.xsd nicht standardmäßig verwendet wird, wenn eine .config-Datei erstellt wird.
Gael

Ramakrishna du da Mann! Hat perfekt funktioniert. Die Anwendung wird immer noch kompiliert, aber die nervige Warnmeldung ist jetzt verschwunden.
Puffgroovy

Dies funktioniert. Weitere Informationen dazu, die ich in meiner Lösung festgestellt habe, sind für .net Version 4.5. Das DotNetConfig.xsd-Schema ist standardmäßig ausgewählt. Für .net Version 4.6 muss DotNetConfig.xsd ausgewählt werden, wie in dieser Antwort als @Ramakrishna vorgeschlagen. Vielen Dank!
ZeeProgrammer

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

Nehmen Sie Änderungen wie oben vor und versuchen Sie es


Die Warnung ist verschwunden. Dankesehr. Ich muss dies als Antwort markieren.
Eae

Es sieht so aus, als würden die Elemente in der Konfiguration jetzt nicht von der Umgebung gelesen, die Visual Studio 2012 Express Edition ist.
Eae

@sepoto: Wenn Sie xmlns Namespace entfernen, dann gibt es wieder Warnung
Ravindra Bagale

1
Ich habe die App.config vollständig in meinen Beitrag aufgenommen. Aus irgendeinem Grund konnte ich es nicht ordnungsgemäß mit der Visual Studio 2012 Express C # -Umgebung zum Laufen bringen. Ich habe Ihre Lösung oben ausprobiert, aber dann habe ich Warnungen für die Elemente in der Konfiguration erhalten, sodass die Dinge nicht mehr funktionieren. Ich schätze Ihre Hilfe sehr, aber ich glaube noch nicht, dass es eine Antwort gibt.
Eae

1
Diese Antwort ist teilweise richtig: Wenn Sie eine XML-Datei angeben (Wert kann alles sein), verschwindet die Warnung für configuration, aber für und für jedes Unterelement wird eine Informationsnachricht ausgegeben configuration. Wenn die XML-Datei auf eine tatsächliche DTD verweist, die alle Elemente definiert, sollten diese Nachrichten ebenfalls verschwinden.
Mike C

6

Ich musste -> Zum XML-Menü (Visual Studio-Hauptmenüelement) Schemas auswählen und DotNetConfig.xsd UND RazorCustomSchema.xsd UND EntityFrameworkConfig_6_1_0.xsd auswählen


1

Ich hatte gerade dieses Warn-Popup in einer automatisch generierten XML-Datei, als ich an einem XAML-Projekt arbeitete.

Mit Debug-> Clean Solution und Debug-> Rebuild Solution wurde das Problem behoben. Vielleicht möchten Sie das versuchen, bevor Sie sich mit den Schemata beschäftigen.


0

In Visual Studio 2013 Express Edition fehlt DotNetConfig.xsd ( https://connect.microsoft.com/VisualStudio/feedback/details/817322/dotnetconfig-xsd-files-not-present-in-vs-2013-express-for- Desktop ).

So entfernen Sie die Warnung in VS 2013 Express:

Die Warnung sollte weg sein.



0

Ich hatte weniger Speicherplatz auf meinem Laufwerk, was möglicherweise zu einem unvollständigen Laden meiner Anwendungslösung geführt hat. Dieses Problem "Das Konfigurationselement ist nicht deklariert" wurde behoben, nachdem ich Speicherplatz auf meinem Laufwerk erstellt hatte.


0

Ich habe auch die gleiche Warnung bekommen. Nachdem ich einige Zeit darüber nachgedacht hatte, stellte ich fest, dass mein Fehler bei der Arbeit mit SQL (MS SQL) aufgetreten war.

Warning: the 'configuration' element is not declared

Verwenden von C #

App.Config-Code:

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

* Dies ruft den Datenbanknamen in den connectionStrings auf. Wenn ich meinen SQL-Code als Übung einfügte, verwende ich immer den Datenbanknamen, das Schema und dann die Tabelle. Diese Praxis hat sich in Visual Studio nicht gut übertragen, da ich Anfänger bin. Ich habe den Datenbanknamen aus meiner SQL-Syntax entfernt und nur aus dem Schema Datentabelle aufgerufen. Dies löste das Problem für mich.

Form.CS:

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

Aktualisiert auf:

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

Das hat bei mir funktioniert, ich hoffe das wird als nützlich empfunden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.