SQLite x86 oder x64? Warum nicht beides!

Ich habe mich mit SQLite schon in einigen Artikeln befasst. Nun ist es wieder einmal so weit. Durch meinen Kollegen habe ich vor einigen Tagen etwas Interessantes erfahren.

Zielplattform: x86

Bei meinen Projekten hatte ich immer das Problem, dass ich mich immer entscheiden musste: Soll mein Programme auf der x86 Plattform oder x64 Plattform laufen. Die Standardkonfiguration ‚Any CPU‘ war bisher leider nicht möglich. Daher habe ich mich immer für x86 entschieden, denn damit war es möglich, dass das Programm sowohl unter 32 Bit und 64 Bit laufen zu lassen. Man musste nur noch das richtige SQLite Paket finden und die Projektkonfiguration auf x86 stellen.

Zielplattform: Any CPU

Mittlerweile gibt es aber eine andere Möglichkeit. Seit SQLite 1.0.80.0 gibt es ein neues Feature welches sich ’native library pre-loading feature‘ nennt. Man liefert in Unterordnern die DLLs für die verschiedenen Plattformen aus und SQLite entscheidet beim Start der Anwendung welche Version verwendet werden muss. Der Aufbau der Anwendung sieht dann in etwa so aus:

  • <bin>\App.exe (Anwendung)
  • <bin>\System.Data.SQLite.dll (managed-only core assembly)
  • <bin>\x86\SQLite.Interop.dll (x86 native interop assembly)
  • <bin>\x64\SQLite.Interop.dll (x64 native interop assembly)

(Quelle: http://system.data.sqlite.org)

Doch bevor man jetzt wieder lange die dazu nötigen Pakete auf der SQLite Seite sucht, sollte man sich das ganze selbst einfacher machen und NuGet verwenden. Mit NuGet ist es einfach Möglich benötigte Komponenten in eigene Visual Studio Projekte einzubinden. Auch für SQLite steht ein NuGet Paket zur Verfügung, welches mit wenigen Klicks eingebunden ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert