DB-Verbindung Unterschied Debug / Release

  • C#

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    DB-Verbindung Unterschied Debug / Release

    Hallo zusammen

    Wenn ich mein Programm im VS im Debug-Modus starte, kann ich mich problemlos mit der DB verbinden. Alles o.k.
    Im Release-Modus hingegen, scheitert die Anmeldung an der DB immer.
    Woran kann das liegen? Besten dank für Eure Hilfe.

    Gruss
    @Murmeli81 Wie äußert sich das Scheitern?
    Läuft das Studio mit Admin-Rechten, die Solo-Release jedoch nicht?
    Starte mal die Release mit Ctrl+F5 aus dem Studio heraus.
    Läuft die Debug-Version, wenn Du sie im Explorer startest?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()

    Murmeli81 schrieb:

    Eine Ellenlange Nachricht der DB
    Kannst Du die mal posten?
    Liegen im Debug- und im Release-Verzeichnis dieselben DLLs und andere Dateien?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Liegt im Debug Ordner eine Datei mit Verbindungsdaten, die evtl. im anderen Ordner nicht vorhanden ist?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Hallo

    Ich habe ndie Fehlermeldung nun genau angesehen, und dies scheint der Fehler zu sein ...The user account {EmailHidden} does not exist in the xxx.ch directory...
    Den user und das Passwort erfasse ich zu Programmbeginn in einer "Anmelde Form". Diese Daten übergebi ch damm beim Instanzierener meiner DB-Klasse.
    Nun habe ich testhalber mal den user und das Passwort in der DB-Klasse direkt in den Programmcde geechrieben. Soklappt die Verbindung im Release-Modus.

    Danach habe ich im Realise-Modus gedebugt, und den Fehler gefunden.
    Im Debug-Modus steht in der user-Variable, die ich beim Instanzieren der DB-Klasse übergebe z.B. hans.muster@xxx.ch, im Release-Modus jedoch vorname.name@xxx.ch
    Hier der Code-Ausschnitt

    C#-Quellcode

    1. user = string.Format($"{vorname.ToLower()}.{name.ToLower()}@xxx.ch");
    2. }
    3. //Verbindungskontrolle
    4. Datenbank db = new Datenbank(user, password);
    5. if (db.Verbindungskontrolle()) //Verbindung i.o.
    6. {


    Obwohn es der selbe Programmcode ist, verhält es sich anders.
    @Murmeli81 Mach mal eine Reihe von Testausgaben in eine Datei und vergleich die Debug und die Release miteinander.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe dazu mal eine Frage.

    Worin genau besteht der Unterschied ob ich im "Debug" oder "Release" die exe, ... usw erstelle?
    Ich habe manchmal das Problem, wenn ich das Studio über Stunden offen habe, das ich dann im Debug nicht "Neu erstellen" kann (TimOut 1000ms )
    Schalte ich auf Release gehts wieder, aber ich sehe keinen Unterschied in den Dateinen etc..
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    @Amelie Die Debug-Information.
    Bei einer Exception wird in der Debug, wenn die *.pdb neben der Exe liegt, eine qualifiziertere Message ausgegeben als in der Release.
    Die Release ist i.A. etwas schneller.
    Es gibt den Compilerschalter DEBUG bzw. !DEBUG, um für Debug und Release unterschiedlichen Code zu generieren (z.B. das Errorhandling).
    =====
    @INOPIAE @Murmeli81 Wenn, dann gleich

    C#-Quellcode

    1. $"{vorname}.{name}@xxx.ch".ToLower();

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Habe den Fehler gefunden. Es war ein Anwendungsfehler.
    Im Anmeldeformular habe ich die Möglichkeit eingerichtet, den Namen in den Settings zu speichern. Das habe ich beim ersten Debuggen gemacht. Als ich dann auf Realise wechselte, ist mir im Anmeldefenster nicht aufgefallen, dass beim Namen die Default-Werte standen, und ich habe einfach jedesmals nur das Passwort eingegeben, und die Anmeldung bei der DB scheiterte zu recht. :(
    Das bedeutet, dass für Realise und Debug die Settings separat gespeichert werden? Wo werden die Setting-Daten eigentlich abgelegt?
    @RodFromGermany
    Hatte mich ja bisher nie so richtig mit dem "DebugWriteline" usw auseinandergesetzt.
    Nun habe ich es festgestellt. Im Release werden mir diese "Hilfsanzeigen" garnicht angezeigt..
    Wieder ein bissel "schlauer" geworden ;)
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh: