Ich habe die zweite Lösung von Wie kann ich "Konnte keine Schemainformationen für das Element/Attribut <xxx> finden?"
Das heißt Erstellt eine XSD mit der Schaltfläche zum Erstellen eines Schemas. Ich habe das Stylesheet in app.config in app.xsd geändert, aber jetzt bekomme ich die Warnung:
Das globale Element 'configuration' wurde bereits in app.xsd deklariert
Auch bei Namensänderung wird die Warnung angezeigt. Hat jemand eine Lösung dafür?
Ich hatte ein ähnliches Problem wie die Frage, auf die Sie sich beziehen. Ich habe diese Anweisungen befolgt und alles war in Ordnung. Stellen Sie sicher, dass EnterpriseLibrary.Configuration.xsd
ist in %Program Files%\Microsoft Visual Studio [version] \Xml\Schemas\
zuerst, dann mach das:
Enterprise Library installiert ein Schema in Visual Studio, das IntelliSense® zum Bearbeiten von Enterprise Library-Konfigurationsdateien im Visual Studio-XML-Editor bereitstellt. Sie müssen das Schema aktivieren, bevor Sie es verwenden können.
So aktivieren Sie das Enterprise Library-Konfigurationsschema
Öffnen Sie die Konfigurationsdatei in Visual Studio, indem Sie im Projektmappen-Explorer darauf doppelklicken.
Klicken Sie im Menü XML auf Schemas ..., um das Dialogfeld XML-Schemas zu öffnen.
Suchen Sie das Schema mit dem Namen EnterpriseLibrary.Configuration.xsd. Dies wird automatisch installiert. Wenn es jedoch nicht in der Liste angezeigt wird, klicken Sie auf Hinzufügen, navigieren Sie zum Ordner% Programme%\Microsoft Visual Studio [Version]\Xml\Schemas \, wählen Sie EnterpriseLibrary.Configuration.xsd aus und klicken Sie auf Öffnen.
Ändern Sie den Wert in der Spalte Verwenden in Dieses Schema verwenden. Klicken Sie dann auf OK.
Link zum Artikel ist hier , hoffe das hilft
Ein Neustart hat bei mir nicht funktioniert, daher möchte ich mitteilen, was funktioniert hat.
Zuerst habe ich ein Upgrade auf Windows 8 durchgeführt. Dieses Problem trat bis dahin nicht auf. Und dieses Problem trat nur in einem meiner app.config-Dateien auf. Also habe ich beschlossen, die problematische app.config mit einer guten zu vergleichen. In Visual Studio ging ich bei geöffneter app.config zu Xml -> Schemas
. Mir ist aufgefallen, dass in der guten Konfiguration nur drei dieser Schemata überprüft wurden. Der Böse hatte die gleichen drei geprüft, plus eine DotNetConfig.xsd. Nachdem ich die Use
-Spalte für DotNetConfig.xsd in "Automatisch" geändert hatte, wurde das Problem behoben.
Mein Problem war, dass ich von .Net 4.5 auf .Net 4.0 umgestiegen bin. Um das Problem zu beheben, habe ich alle angekreuzten Schemata auf automatisch umgestellt.
Ich hatte auch eine Weile damit zu kämpfen. Es stellte sich heraus, dass meine Version des Problems aus dem versteckten {PROJECTNAME}.SUO
Datei erstellt von Visual Studio.
Ich vermute, VS wird die XSD-Schema-Zuordnungen in dieser Datei zwischenspeichern. Die Warnungen tauchten auf, nachdem ich das Zielframework geändert hatte. Sie verschwanden, nachdem ich die SUO-Datei gelöscht und VS neu gestartet hatte.
Bei den in der Frage beschriebenen Symptomen und bei Verwendung von Visual Studio 2013 (Update 4) konnte ich im Dialogfeld XML-Schemas [sic] feststellen, dass sowohl DotNetConfig.xsd
und DotNetConfig40.xsd
wurden zur Verwendung ausgewählt.
Ich verwende ein .NET Framework 4.0-Projekt.
Die beiden XSD-Dateien stehen in Konflikt miteinander und definieren jeweils dieselben Elemente, wodurch die Warnungen ausgegeben werden.
Diese Schemadateien befinden sich im Ordner %programfiles(x86)%\Microsoft Visual Studio 12.0\xml\Schemas\
.
DotNetConfig.xsd
Befindet sich im Unterordner 1033
Und scheint die neuere, vollständigere Version zu sein.
Unabhängig davon, welche Einstellungen ich in XML-Schemata ausgewählt habe, konnte ich weder DotNetConfig40 noch DotNetConfig deaktivieren oder entfernen. Ich habe versucht, " Remove " und den Use-Parameter von " Use this schema " auf " Automatisch "und dann" Verwenden Sie dieses Schema nicht ".
Unabhängig davon, was für eine Datei ausgewählt wurde, wurden beide zur Verwendung ausgewählt, wenn ich zum Dialogfeld zurückkehrte. Ich habe auch versucht, in eine andere Zeile zu wechseln, bevor ich " [~ # ~] ok [~ # ~] " gedrückt habe, ohne Erfolg.
Schließlich habe ich die Datei DotNetConfig40.xsd
In DotNetConfig40 DO NOT USE.xsd
Umbenannt, um zu verhindern, dass sie geladen wird. Dies löste sofort das Problem.
Das freut mich nicht und ich mache mir Sorgen, ob es bei anderen Projekten unerwünschte Nebenwirkungen hat. Ich werde diesen Beitrag mit meinen Ergebnissen aktualisieren.
Dieses Problem wurde behoben, nachdem ich die Datei im Editor, die diese Warnungen verursachte, geschlossen und neu kompiliert hatte.
Nach dem Neustart des Systems ist das Problem behoben, dh ich erhalte keine Warnungen mehr in Bezug auf das Schema.
Es scheint also, dass ein Neustart (und möglicherweise ein implizites Zurücksetzen/Zurücksetzen) die Warnung beseitigt hat.
Für mich ist mir aufgefallen, dass ein Haufen XML Schemas
Dupliziert wurde. Ich habe einfach alle, die nicht mit Visual Studio 2017 zu tun haben, als Don't Use
Markiert. Das Problem ist sofort verschwunden
Mithilfe von Visual Studio 2015 Community Edition - beim Generieren einer Datei "web.xsd" im Stammordner meines Projekts und beim Hinzufügen zur Schemaliste wurden alle Warnungen bis auf eine gelöscht.
Das globale Element 'configuration' wurde bereits deklariert '.
Das Schließen der Datei web.config im Texteditor und das erneute Erstellen des Projekts löschten diese Warnung.
Nekromanzierung: Update 2019 mit Visual Studio 2017
Ich habe versucht, das zu tun, was andere vorgeschlagen haben:
All dies hat nicht funktioniert.
Allerdings hat die Lösung von OLEG wie hier beschrieben funktioniert.
Ich musste lediglich den folgenden Teil in allen verwendeten DotNetConfigXX.xsd-Dateien (XX ist leer oder eine Zahl) durch den folgenden Code ersetzen
<xs:element name="startup" vs:help="configuration/startup"
...
</xs:element>
Ersetzen mit:
<xs:element name="startup" vs:help="configuration/startup">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="requiredRuntime" vs:help="configuration/startup/requiredRuntime">
<xs:complexType>
<xs:attribute name="version" type="xs:string" use="optional" />
<xs:attribute name="safemode" type="xs:boolean" use="optional" />
</xs:complexType>
</xs:element>
<xs:element name="supportedRuntime" minOccurs="1" maxOccurs="unbounded" vs:help="configuration/startup/supportedRuntime">
<xs:complexType>
<xs:attribute name="version" type="xs:string" use="optional" />
<xs:attribute name="sku" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="useLegacyV2RuntimeActivationPolicy" type="xs:boolean" use="optional" />
<!-- see http://msdn.Microsoft.com/en-us/library/bbx34a2h.aspx -->
</xs:complexType>
</xs:element>
Vergessen Sie nicht, Ihre ursprünglichen .XSD-Dateien zu sichern!
Nach einem Neustart von Visual Studio waren die Fehler verschwunden.