Laden...

[gelöst] ConnectionString kann nicht aus XML gelesen werden --> Typo "ConnectionStringS"

Erstellt von behindyoû vor 3 Jahren Letzter Beitrag vor 3 Jahren 1.063 Views
B
behindyoû Themenstarter:in
20 Beiträge seit 2020
vor 3 Jahren
[gelöst] ConnectionString kann nicht aus XML gelesen werden --> Typo "ConnectionStringS"

Guten Tag. 😃

Ich versuche aktuell mich mit der Praxis des mvvm's vertraut zu machen, scheitere jedoch irgendwie schon daran, auf mein ConnectionString zuzugreifen, vermute ich zumindest, dass da mein Fehler liegt. > Fehlermeldung:

System.TypeInitializationException
HResult=0x80131534
Nachricht = Der Typeninitialisierer für "System.Windows.Application" hat eine Ausnahme verursacht.
Quelle = PresentationFramework
Stapelüberwachung:
bei System.Windows.Application..ctor()
bei Ting.App..ctor()
bei Ting.App.Main() in S:\Projects\Ting\Ting\Ting\obj\Debug\App.g.cs: Zeile50

Diese Ausnahme wurde ursprünglich von dieser Aufrufliste ausgelöst:
[Externer Code]

Innere Ausnahme 1:
TypeInitializationException: Der Typeninitialisierer für "System.Windows.Navigation.BaseUriHelper" hat eine Ausnahme verursacht.

Innere Ausnahme 2:
TypeInitializationException: Der Typeninitialisierer für "MS.Internal.TraceDependencyProperty" hat eine Ausnahme verursacht.

Innere Ausnahme 3:
ConfigurationErrorsException: Das Konfigurationssystem konnte nicht initialisiert werden.

Innere Ausnahme 4:
ConfigurationErrorsException: Unbekannter Konfigurationsabschnitt "ConnectionString". (S:\Ting\bin\Debug\Ting.exe.Config line 6)

Auch nach längeren Googlen (derweil über 15 Tabs offen gehabt) komm ich nicht dahinter, wo mein Problem liegen könnte.
Jemand vielleicht ein anreiß woran es liegen könnte oder sieht den Fehler sogar ?

app.config Hier habe ich meinen ConnectionString enthalten


<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
  <ConnectionString>
    <add name="TingDB" connectionString="Data Source=.\TingDB.db; Version=3;" providername="Systen.Data.SqlClient"/>
  </ConnectionString>
</configuration>

SqliteDataAccess Hier baue ich meine Verbindung zur Datenbank auf
PS: Ich vermute, die Art wie ich den Login gestalte ist bestimmt nicht die feine englische Art, jedoch genügt es mir vorerst, den Aufbau der Layer ansatzweiße zu verstehen und wie ich diese mit dem mvvm-pattern harmonieren kann.

private static string ConnectionString(string id = "TingDB")
        {
           return ConfigurationManager.ConnectionStrings[id].ConnectionString;
        }

        public static bool AuthoticationUser(string username, string password)
        {
            using (IDbConnection cnn = new SQLiteConnection(ConnectionString()))
            {
                 cnn.Execute("SELECT * from User Where Username = "+username+" && Password = "+password);
                if(cnn != null)
                {
                    return true;
                } else { return false; }
            }
        }

UserAuth Hier verbinde ich mich zum DataAccess und prüfe die Daten und gebe ein bool zurück, welches ich im VM dann nutze


        public bool AuthenticateUser()
        {
            bool output = SqliteDataAccess.AuthoticationUser(Username, Password);
            if (output == true)
            {
                return true;
            }
            else { return false; } 
        }

        public UserAuth(string un, string pw)
        {
            _username = un;
            _password = pw;
        }

LoginWindowViewModel Hier übergebe ich die Daten aus der View an mein UserAuth


        private void LoginExecute()
        {
            userA = new UserAuth(Username, Password);
            if (userA.AuthenticateUser())
            {
                IsLogin = true;
            }else { IsLogin = false; Message = "Logindaten waren nicht korrekt."; }

        }

16.806 Beiträge seit 2008
vor 3 Jahren

Es heisst ConnectionStrings; Du hast das s im XML vergessen.

B
behindyoû Themenstarter:in
20 Beiträge seit 2020
vor 3 Jahren

HAHAHAHAHA, ah bitte lieber Gott, schenk mir ein neues Hobby. ._.

ähm, also vielen Dank Abt

ein perfektes Beispiel dafür, dass ein Buchstabe das Leben eines Entwicklers auf den Kopf stellen kann ._.

vielen dank 😃

16.806 Beiträge seit 2008
vor 3 Jahren

Naja; die Fehlermeldung sagt ganz einfach und auch sehr deutlich, dass die Sektion "ConfigurationStrings" fehlt.
Das war jetzt schon nen sehr sehr deutlicher Hinweis 😉

Bei sowas lohnt sich immer: [Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden