Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

[gelöst] ConnectionString kann nicht aus XML gelesen werden --> Typo "ConnectionStringS"
behindyoû
myCSharp.de - Member



Dabei seit:
Beiträge: 20

Themenstarter:

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

beantworten | zitieren | melden

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.
Fehler
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."; }

        }
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15806
Herkunft: BW

beantworten | zitieren | melden

Es heisst ConnectionStrings; Du hast das s im XML vergessen.
private Nachricht | Beiträge des Benutzers
behindyoû
myCSharp.de - Member



Dabei seit:
Beiträge: 20

Themenstarter:

beantworten | zitieren | melden

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 :-)
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15806
Herkunft: BW

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers