Benutzer mit den meisten Antworten
SQLite in Klassenbibliothek

Frage
-
Hallo Gurus,
ich würde gerne SQLite in einer Anwendung verwenden und den gesamten Data Layer in ein DLL auslagern. Wenn ich also beim Projekttyp -> Visual C# -> Windows -> Klassenbibliothek auswähle, dann über Tools -> Erweiterungen & Updates "SQLite for Windows Runtime" installiere, dann über NuGet sqlite-net installiere, werden mir die beiden Wrappe SQLite.cs und SQLiteAsync.cs ins Projekt kopiert. Es wirkt alles ganz normal, das Projekt kompiliert und buildet ohne Fehler.
Nur beim Ausführen kommt bei der ersten Referenz von SQLite der Fehler, dass SQLite3.dll nicht gefunden wird. Auch kann ich bei den Verweisen weder C++ noch SQLite finden und hinzufügen.
Frage: wie genau muss ich vorgehen, um eine Windows DLL zu erstellen, die ihrerseits SQLite verwendet?
Danke & lG
Peter- Typ geändert Marcel RomaModerator Donnerstag, 6. Juni 2013 04:46 Thread bleibt offen für Diskussion
- Typ geändert Marcel RomaModerator Donnerstag, 6. Juni 2013 05:17 Rückmeldung des Fragestellenden
Antworten
-
Hallo Marcel,
ich habe jetzt bei meinem alten Projekt, wie von Dir empfohlen, System.Data.SQLite eingesetzt.
Die Entwicklung mit dem Paket ist bis jetzt ohne Probleme verlaufen, bei Fragen gab es immer reichlich Informationen und Beispiele im Internet und als letzte Möglichkeit wären da auch noch die Sourcen gewesen, die ich aber bislang nicht wirklich benötigt habe.
Fazit also: sehr gute Empfehlung, vielen Dank nochmal.
Viele Grüße
Peter- Als Antwort markiert Marcel RomaModerator Donnerstag, 6. Juni 2013 05:18
Alle Antworten
-
Hallo Peter,
Die Windows Store-App aus der Du die Klassenbibliothek referenzierst muss ebenfalls die SQLite for Windows Runtime und das Microsoft Visual C++ Runtime Package referenzieren, welche von sqlite-net benötigt werden. Für Nicht-RT-Projekte bietet V2012 keine Möglichkeit an, diese Verweise über das Referenzen-Dialog hinzuzufügen.
P.S. Wenn Du einverstanden bist, würde ich diesen Thread ins zuständige Forum verschieben.
Gruß
Marcel- Bearbeitet Marcel RomaModerator Samstag, 25. Mai 2013 08:20
-
P.S. Wenn Du einverstanden bist, würde ich diesen Thread ins zuständige Forum verschieben.
Hallo Marcel,
erst einmal danke, dass du auch am WE Überstunden schiebst und so flott auf meine Frage reagiert hast! Ich habe mir echt die Finger wund gesucht in MSDN und nichts diesbezügliches gefunden, ich erinnere mich aber, dass du in einem Thread sagst, du "verwendest SQLite schon seit Jahren in C#-Projekten".
Ich wollte SQLite - neben der neuen W8 App, wo derzeit keine Probleme sind - auch in eine alte Anwendung einbauen und dort das mühsame (und fehlerhafte) Schreiben von binären Daten in Flat Files durch SQLite ersetzen. Der gesamte Data Layer wäre eine eigene DLL, die ihrerseits SQLite verwendet.
Wenn sqlite-net nur in RT-Projektenunterstützt wird (?!? warum eigentlich?), was verwende ich dann also in Nicht-RT-Projekten?
Und ja, bitte verschiebe alles dorthin, wo es hingehört (um ehrlich zu sein, habe ich dort gepostet, wo du die meiste Zeit vorkommst... ;-))
Danke im Voraus und lG
Peter -
Hallo Peter,
bei ehrenamtlichem Einsatz kann man wohl schwer von Überstunden reden. In verwalteten C#-Projekten habe ich vor allem System.Data.SQLite (ADO.NET) verwendet, sql-net setzt die native WinRT voraus und implementiert ADO.NET nicht. Man könnte vielleicht versuchen, eine portable Klassenbibliothek zu entwickeln, aber ich halte den Wert eines solchen Unterfangens für nicht allzu groß.
Viele Grüße
Marcel -
Hallo Marcel,
ich habe jetzt bei meinem alten Projekt, wie von Dir empfohlen, System.Data.SQLite eingesetzt.
Die Entwicklung mit dem Paket ist bis jetzt ohne Probleme verlaufen, bei Fragen gab es immer reichlich Informationen und Beispiele im Internet und als letzte Möglichkeit wären da auch noch die Sourcen gewesen, die ich aber bislang nicht wirklich benötigt habe.
Fazit also: sehr gute Empfehlung, vielen Dank nochmal.
Viele Grüße
Peter- Als Antwort markiert Marcel RomaModerator Donnerstag, 6. Juni 2013 05:18