it-swarm.com.de

Konfigurationssystem konnte nicht initialisiert werden

Ich bin neu in Visual Studio. Ich erstelle gerade ein Anmeldeformular.

Ich habe diesen Code.

string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
try
{
    using (OdbcConnection connect = new OdbcConnection(connectionString))
    {
        connect.Open();
        OdbcCommand cmd = new OdbcCommand("SELECT username, password FROM receptionist", connect);
        OdbcDataReader reader = cmd.ExecuteReader();

        if (username_login.Text == username && password_login.Text == password)
        {
            this.Hide();
            MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            this.Close();
        }
        else 
            MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        connect.Close();
    }
}
catch (OdbcException ex)
{
    MessageBox.Show(ex.Message, "error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

Wenn ich jedoch versuche, den Benutzernamen und das Kennwort einzugeben, ist ein Fehler mit dem NamenKonfigurationssystem nicht initialisiert. Ich frage mich nur, was für ein Problem das ist und wie könnte ich das lösen?

Bitte helfen.

198
sean

Stellen Sie sicher, dass Ihre Konfigurationsdatei (web.config bei web oder app.config bei Windows) in Ihrem Projekt wie folgt beginnt:

<?xml version="1.0"?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" 
                      type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >

            <section name="YourProjectName.Properties.Settings" 
                     type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
                     requirePermission="false" />

        </sectionGroup>
    </configSections>
</configuration>

Beachten Sie, dass das erste untergeordnete Element im Element configuration das Element configSections sein muss.

Stellen Sie sicher, dass Sie in der Eigenschaft name des Elements sectionYourProjectName durch den Namen Ihres aktuellen Projekts ersetzen.

Es ist mir passiert, dass ich einen Webservice in einem Klassenbibliothekprojekt erstellt habe, dann die Konfigurationsdatei (um die Endpunktkonfiguration zu übernehmen) in meine Windows-App kopiert (überschrieben) habe und dasselbe Problem aufgetreten ist. Ich hatte configSections versehentlich entfernt.

es hat für mich funktioniert, hoffe es hilft 

361
feluco79

Löschen Sie alte Konfigurationsdateien aus c:\Users\Benutzername\AppData\Local\appname und c:\Users\Benutzername\AppData\Roaming\appname und versuchen Sie dann, die Anwendung neu zu starten.

96
jarek

Manchmal tritt der Fehler auf, weil ein Fenster ein Duplikat erstellt 

C:\Benutzer\App-Daten\Local\"Ihr App-Name" ...

Einfach diesen Ordner löschen und fertig. Versuch es.

17
Ashu Gupta

Wenn Sie Ihrem App.Config eigene benutzerdefinierte Konfigurationsabschnitte hinzugefügt haben, stellen Sie sicher, dass Sie den Abschnitt im <configSections>-Element definiert haben. Ich habe mein Konfigurations-XML hinzugefügt, aber vergessen, den Konfigurationsabschnitt oben zu deklarieren. Dies führte zu der Ausnahme, dass das Konfigurationssystem nicht initialisiert werden konnte.

11
Flash Gordon

Ich hatte das gleiche Problem mit einer MSTest-Klasse: Marlon Grech in seinem Artikel sagt "das Element muss als erstes Element in der App.config definiert werden."

Stellen Sie also sicher, dass sich das erste Element unter dem Element befindet. Ich hatte AppSettings zuerst gesetzt.

6
Aligned

Ich weiß, dass dies bereits beantwortet wurde, aber ich hatte in meinen Unit-Tests genau das gleiche Problem. Ich riss mir die Haare aus - fügte einen appSettings-Abschnitt hinzu und erklärte dann den Konfigurationsabschnitt gemäß der Antwort. Schließlich fand ich heraus, dass ich bereits einen appSettings-Bereich weiter oben in meiner Konfigurationsdatei deklariert hatte. Beide Abschnitte wiesen auf meine externe Einstellungsdatei "appSettings.config" hin, aber das erste appSettings-Element, das das Attribut file verwendet, während der andere das Attribut configSource verwendet. Ich weiß, die Frage war nach den Verbindungszeichenfolgen. Das passiert natürlich, wenn das Element appSettings das Element connectionStrings ist, das mit unterschiedlichen Attributen dupliziert wird.

Hoffentlich kann dies jemand anderen die Lösung geben, bevor er den Weg einschlägt, den ich getan habe, was dazu führt, dass ein oder zwei Stunden verschwendet werden. seufz oh das leben von uns entwicklern. Wir verschwenden mehr Tage an Tagen, um mit dem Debuggen zu beginnen, als wir mit der Entwicklung verbringen!

4

Ich habe dieses Problem nach der Deinstallation von Oracle Client Drivers festgestellt und mein C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\machine.config entfernt!

Durch das Kopieren von einem anderen Computer wurde das Problem behoben.

3
Jeremy Thompson

Wenn Sie über Einstellungen für den Benutzerbereich verfügen, befindet sich möglicherweise auch eine Datei user.config im Ordner [Benutzerordner]\AppData\Local [ProjectName]. 

Wenn Sie später die Einstellungen für den Benutzerbereich entfernen, wird die user.config nicht automatisch entfernt, und ihre Anwesenheit kann zu derselben Fehlermeldung führen. Das Löschen des Ordners war für mich der Trick.

3
Wuolennaj
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="xyz" value="123" />    
  </appSettings>
</configuration>
2
Leny

Gleiches Problem bei mir, ich habe mein Problem gelöst, indem Sie verion = "v3.5" aus App.config entfernt haben.

Vor

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

  <startup>

 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
 </startup>
 <supportedRuntime version="v3.5" />//Remove this
</configuration>

Lösung

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

  <startup>

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
  </startup>
  </configuration>

So verwenden Sie die Version 

MSDN Support Runtime Element

1
user5093161

Wow, ich habe ewig gebraucht, um das herauszufinden. Durch das Ändern des Attributs [Assembly: AssemblyCompany("CompanyName")] bei AssemblyInfo.cs wurde dieser Fehler aus irgendeinem Grund nicht mehr angezeigt. Ich habe auf ein Projekt verwiesen, das einen anderen Wert für das Attribut [Assembly: AssemblyCompany("CompanyName")] hatte. Ich stellte sicher, dass beide Projekte den gleichen Attributwert hatten und es funktionierte großartig! 

1
Tono Nam

In meinem Fall hatte ich in meiner .edmx-Datei den Befehl 'Update Model From Database' ausgeführt. Dieser Befehl fügte meiner app.config-Datei eine unnötige Verbindungszeichenfolge hinzu. Ich habe die Verbindungszeichenfolge gelöscht und alles war wieder gut.

0
Versatile

Wenn Sie Elemente wie Verbindungszeichenfolgen in der app.config hinzufügen, sollten Sie Folgendes beachten: Wenn Sie Elemente außerhalb der definierten Konfigurationsabschnitte hinzufügen, wird dies nicht sofort beanstandet die obigen Fehler.

Reduzieren Sie alle wichtigen Abschnitte und stellen Sie sicher, dass sich keine Elemente außerhalb der definierten befinden. Offensichtlich, wenn Sie es tatsächlich gesehen haben.

0
Anthony Horne

Wenn Sie mit einem Azure-WebJob zu tun haben, musste ich nach dem Upgrade auf 4.6.1 Folgendes entfernen.

  <compilation debug="true" targetFramework="4.6.1">
    <assemblies>
      <add Assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </assemblies>
  </compilation>

Hoffe das hilft.

0
Dave Friedel

Das ist ein bisschen dumm, aber für mich habe ich es korrigiert, indem ich den neuesten Code der Quellcodeverwaltung für meinen Code ausführte. Ich denke, es gab ein neues Konfigurationselement, das von einer anderen Person hinzugefügt wurde, und ich musste meine Konfigurationsdateien überschreiben. OP zeigt den Fehler an, den ich bekommen hatte und der mich nicht wirklich in die richtige Richtung zeigte.

0
DLeh

In meinem Fall bestand die einzige Lösung darin, den Verweis zu dem System.Configuration in meinem Testprojekt hinzuzufügen.

0
Jose Santos

Als@Flash Gordonin seinem Kommentar erwähnt, müssen Sie ein benutzerdefiniertes Tag (als Abschnitt) in Ihrer App.config -Datei unter <configSections> definieren. Wenn Sie beispielsweise an einem Testautomatisierungsprojekt mit SpecFlow arbeiten und <specFlow>-Tag hinzufügen, sieht eine einfachste Version von App.config folgendermaßen aus:  enter image description here 

0
DenisD

Nach langer Suche wurde mir klar, dass diese Ausnahme eine innere Ausnahme enthält, die Ihnen genau sagt, was mit Ihrer Konfigurationsdatei nicht stimmt

0

Ich hatte gerade dieses und es war, weil ich ein <configuration> -Element hatte, das innerhalb eines <configuration> -Elements verschachtelt war.

0
Mike Cheel

In meinem Fall habe ich zwei Konfigurationsbereiche in der Datei app.config. Nachdem Sie den in den Codezeilen ausgeblendeten gelöscht haben, funktioniert die App einwandfrei. 

Wenn also jemand dasselbe Problem hat, prüfen Sie zuerst, ob Sie doppelte Konfigurationsabschnitte haben. 

0
oopsdazie

Ich habe das Problem mit dem folgenden Code gelöst

   <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings"
                  type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >

      <section name="YourProjectName.Properties.Settings"
               type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
               requirePermission="false" />

    </sectionGroup>

  </configSections>
  <appSettings>
    <add key="SPUserName" value="TestUser" />
    <add key="SPPassword" value="UserPWD" />
  </appSettings>
</configuration>
0
Sumant Singh

Versuchen Sie, die .config-Datei als utf-8 zu speichern, wenn Sie "Sonderzeichen" enthalten. Das war das Problem in meinem Fall einer Konsolenanwendung.

0
lukalev

Ich hatte auch das gleiche Problem, aber aus Versehen habe ich die .__ geschrieben, ohne die zu schreiben, die vorherige sollte in diese Tags gehen. daher ist der Fehler 'Konfigurationssystem konnte nicht initialisiert werden' aufgetreten. Ich hoffe, es hilft

0