Laden...

Debugg-Modus funktioniert, fertige .exe nicht

Erstellt von Krumnix vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.542 Views
K
Krumnix Themenstarter:in
129 Beiträge seit 2018
vor 5 Jahren
Debugg-Modus funktioniert, fertige .exe nicht

Hallo an Alle.

Benutze Visual Studio 2015 und habe eine WinForm-Applikation erstellt.
Als Framework habe ich 4.5.2 eingestellt.

Nun habe ich eine DLL ins Projekt importiert damit ich auf eine Datenbank zugreifen kann. Diese DLL wird vom Datenbank-Hersteller geliefert.

Wenn ich in VS im Debugg-Modus das Programm ausführe, kann ich ohne Probleme auf die Datenbank zugreifen und alles funktioniert.

Wenn ich nun die EXE erstelle und sie, inkl. der DLL, ausführe, dann "passiert" nix.
Sprich, ich kann mich nicht verbinden und keine Aktionen ausführen. Ich erhalte aber auch keine Fehlermeldungen oder sonstige Rückmeldungen.
Try/Catch vorhanden.
Wenn ich die DLL im Ordner der EXE lösche, erhalte ich meine Message-Box mit einem Fehler, dass die Funktion fehle. Also soweit ok.

Hat jemand einen Tipp, wo ich noch schauen könnte, warum es im Debugg-Modus funktioniert und als fertige EXE nicht?

Danke

1.029 Beiträge seit 2010
vor 5 Jahren

Hi,

naja - wirklich viel preisgeben tust du ja nicht. (DB?)

Praktisch ist der Hauptunterschied zwischen Debug und Release meist x86 vs x64.

Wenn du einfach eine DLL kopierst (das macht man heute ehrlich gesagt über Nuget...) - ist die Chance hoch, dass diese schlicht nur x86 kann. (Obwohl dann definitv was im Windows-Log landet!)

Erster Versuch wäre somit die Release-Version als x86 zu kompilieren - falls das klappt weißt du schon mal woran es liegt und kannst eben ggf. mit x86 arbeiten oder eben auch eine x64-DLL organisieren.

LG

1.696 Beiträge seit 2006
vor 5 Jahren

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

K
Krumnix Themenstarter:in
129 Beiträge seit 2018
vor 5 Jahren

x86 Plattform ist in eingestellt, da ich weiß, dass die DLL auf x86 nur läuft.
Ich hab den try catch erweitert und frage jetzt nicht nur die Exception der Funktion sondern auf die Exception der class ab.
Dabei erhalte ich in der EXE die Meldung, dass eine Konfiguration auf dem Client nicht angelegt ist und daher die Klasse nicht initialisiert werden kann.

Damit kann ich aktuell noch nix anfangen, da dies neu für mich ist 😃

Ich habe im Grunde "nur" die DLL als Verweis ins Projekt eingefügt. Eine weitere Datei oder eine Konfiguration habe ich aktiv nicht integriert.
Ich gehe jetzt mal davon aus, dass die beim Debuggen in VS die Konfiguration irgendwo her kommt, aber werde da nicht schlau.

Jemand ein Tipp, wo ich diese Konfig-Datei suchen könnte?

T
2.219 Beiträge seit 2008
vor 5 Jahren

Beim lokalen debuggen verwendest du die App.config während die fertige Exe eine .config Datei mit ihrem Namen verwendet.
Z.B. bei TestApp.exe = TestApp.exe.config
Entsprechend musst du die gepublishte config Datei noch mit kopieren.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

K
Krumnix Themenstarter:in
129 Beiträge seit 2018
vor 5 Jahren

Danke, das war die Lösung.