158 Stimmen

Wie man den Fehler behebt: "Konnte keine Schemainformationen für das Attribut/Element finden" durch Erstellen eines Schemas

Ich habe eine Windows-Forms-Anwendung in VS2010 mit C# geschrieben und erhalten die folgenden Fehler in der app.config Datei:

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'

Was muss ich im Code ändern, um dieses Problem zu beheben? Wo kann ich bearbeiten, was in CCP_Utility.Settings1 y CCP_Utility.Properties.Settings ?

Hier ist die app.config Code:

<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>

0 Stimmen

Dies sieht wie ein Duplikat dieser Frage aus: stackoverflow.com/questions/179927/ . Siehe die Antwort von @user57433.

0 Stimmen

@rsbarro, Wo befindet sich das EntLib-Konfigurationswerkzeug und die Datei DotNetConfig.xsd?

0 Stimmen

Entschuldigung, ich habe nicht bemerkt, dass ein Benutzer zwei Antworten auf die Frage gepostet hat. Ich habe mich auf die zweite Antwort bezogen. Diese Antwort war zwar richtig, aber ein wenig unklar, so dass ich unten eine ausführlichere Antwort gegeben habe.

1voto

Greg T. Punkte 11

Einfach: Im Visual Studio Report Designer
1. Öffnen Sie den Bericht im Entwurfsmodus und löschen Sie das Dataset aus der RDLC-Datei
2. Öffnen Sie den Solution Explorer und löschen Sie die aktuelle (beschädigte) XSD-Datei
3. Fügen Sie den Datensatz wieder in die RDLC-Datei ein.
4. Mit dem obigen Verfahren wird die neue XSD-Datei erstellt.
5. Ausführlichere Informationen finden Sie weiter unten.

Öffnen Sie in Visual Studio Ihre RDLC-Datei Report im Entwurfsmodus. Klicken Sie auf den Bericht und wählen Sie dann Ansicht und dann Berichtsdaten aus dem Menü in der obersten Zeile. Wählen Sie Datasets, klicken Sie mit der rechten Maustaste und löschen Sie das Dataset aus dem Bericht. Öffnen Sie als nächstes den Solution Explorer, wenn er nicht bereits in Ihrem Visual Studio geöffnet ist. Suchen Sie die XSD-Datei (sie sollte denselben Namen haben wie das Dataset, das Sie gerade aus dem Bericht gelöscht haben). Gehen Sie nun zurück und klicken Sie erneut mit der rechten Maustaste auf die Berichtsdaten Datasets, und wählen Sie Add Dataset . Dadurch wird eine neue XSD-Datei erstellt und die Dataset-Eigenschaften werden in den Bericht geschrieben. Nun ist die Fehlermeldung verschwunden, und die fehlenden Daten werden in Ihren Berichten angezeigt.

0voto

Rockin Raul Punkte 115

Als mir das passiert ist (wie aus dem Nichts), wollte ich mich gerade auf die obige Antwort stürzen, aber dann dachte ich mir, ich schließe das Projekt, schließe Visual Studio und öffne dann alles wieder. Problem gelöst. VS-Fehler?

0voto

Davy C Punkte 588

Ich hatte dieses Problem in VS 2012, wo der "Abschnittsname" in einem Projekt geändert worden war, und ich habe es behoben, indem ich "app.config" im Projekt gelöscht habe, dann mit der rechten Maustaste auf das Projekt im "Projektmappen-Explorer" geklickt und "Eigenschaften" und dann "Einstellungen" ausgewählt habe, dann eine Änderung an einer der Einstellungen vorgenommen, gespeichert und neu erstellt habe. Dadurch wurde eine neue app.config mit den richtigen Informationen erstellt.

0voto

Sofia Khwaja Punkte 1639

In meinem Fall hatte ich einen zweideutigen Verweis in meinem Code. Ich habe Visual Studio neu gestartet und konnte die Fehlermeldung sehen. Als ich dies behoben hatte, verschwand der andere Fehler.

-1voto

Tahir Hassan Punkte 5469

Das meiste von dem, was ich schreibe, wurde bereits von Pressacco behandelt, aber dies ist spezifisch für SpecFlow.

Ich erhielt diese Meldung für die <specFlow> Element und deshalb habe ich ein specflow.xsd Datei zur Lösung diese Antwort (mit einigen Änderungen zur Berücksichtigung der <plugins> Element).

Danach habe ich (wie Pressacco) mit der rechten Maustaste in den Dateipuffer von app.config und ausgewählten Eigenschaften und in Schemas fügte ich hinzu "specflow.xsd" bis zum Ende. Die Gesamtheit der Schemas lautet jetzt:

"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"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X