2016-04-11 10 views
4

Ich benutze Entity Framework und möchte nun die Software freigeben - es hat ein Data Entity Model, das auf dem sich entwickelnden PC als localhost gehostet wird.Wie man einen WPF mit einer Datenbank freigibt

Gibt es eine Möglichkeit, dass ich das freigeben kann, was es dann die Datenbank behalten wird?

Jedes Mal, wenn ich es loslasse und dann das Programm stürzt ab; Wenn ich es loslasse, bekomme ich sehr schnell einen roten Zeilenfehler bei irgendeinem Datenbankcode, der erscheint und dann verschwindet.

Jede Hilfe wäre willkommen.

bearbeiten: Ist die Datenbank online gehostet werden?

bearbeiten: Es stürzt nicht ab, wenn ich es im Debug-Modus laufen und es funktioniert gut

bearbeiten: nur ich habe die EXE-Datei auf meinem Desktop verschoben (nicht sicher, ob ich nehmen musste die gesamte Release-Datei)

bearbeiten: Hier ist ein Print:

Crashed on Logon

+0

Sie können localhost für die Freigabe verwenden. Bitte, zeigen Sie Ihren Fehler. – Lance

+0

Ich habe keinen Fehler, das Programm stürzt einfach bei der Anmeldung ab, Ill update mit einem Gyazo. @Lance – KDOT

+0

Mit einem Bild aktualisiert - wenn ich versuche, mich anzumelden, stürzt es ab - wenn ich den Datenbankcode entferne und ihn loslasse, stürzt er bei der Anmeldung nicht ab - was für mich aussieht, als würde die Datenbank nicht in die App exportiert werden. – KDOT

Antwort

5

Wenn Sie Entity Framework verwenden, benötigt Ihr Programm diese Assemblys und alle anderen, von denen es abhängt, in demselben Ordner wie die .exe-Datei. Wahrscheinlich erklärt, warum es in Debug funktioniert. Visual Studio kopiert die Abhängigkeiten in den Ausgabeordner für Sie.

+0

Aus Neugier jetzt, kann ich scheinen, um diese Datenbank-Datei im Release-Paket zu öffnen, die eine große Sicherheitsschwäche ist, wenn ich dieses Projekt an die Öffentlichkeit freigeben, gibt es trotzdem kann ich den direkten Zugriff auf die Datei beschränken oder kompilieren die .exe-Datei? Es enthält sensible Daten, die Benutzer sehen könnten, wenn sie nicht vorsichtig sind (die Anwendung fordert eine API an, wenn der Benutzer Datenzugriff hat und Informationen aus einer Online-App aktualisiert, so dass dies wirklich sicher sein muss). – KDOT

+1

Mit Datenbanken wie SQLite können Sie die Verwendung über ein Passwort einschränken. Nicht unbedingt narrensicher, da Ihr Code das Passwort kennen müsste, aber es könnte einen einfachen Betrachter vereiteln. –

+0

Ich habe stattdessen eine externe Datenbank verwendet, aber vielen Dank! – KDOT

Verwandte Themen