Saya tidak tahu mengapa ini belum dimasukkan, tetapi saya harus melakukan penelitian dan mencari tahu sendiri, jadi mudah-mudahan seseorang akan menemukan jawaban ini dan menyelamatkan masalahnya. Ini untuk aplikasi WPF. Ini bekerja dengan baik di kotak Dev saya, tetapi tidak berfungsi di komputer tempat saya menyalinnya dan mendapatkan Unable to load DLL 'SQLite.Interop.dll'
kesalahan. Saya porting ke semua direktori dan file yang terkait, langsung dari folder "Debug" ke komputer lain ini ketika saya mendapatkan kesalahan yang sama dengan OP ketika saya menjalankannya. Folder "bin" saya yang berisi DLL saya telah disalin ke "Debug \ bin" dan semuanya dimasukkan, bersama dengan file aplikasi saya ketika saya menyalin ke komputer lain menggunakan jalur ini, jadi tidak ada file yang hilang.
Hal-hal yang saya lihat mengatakan dalam jawaban lain yang tidak berlaku:
- Saya tidak menggunakan paket NuGet atau perlu membuat folder x86 atau x64 yang tampaknya dibuat oleh paket NuGet. DLL saya (System.Data.SQLite dan SQLite.Interop.dll, bersama dengan System.Data.SQLite.config) ada di folder "bin" di proyek saya dan disalin secara manual (buat folder "bin" di Solution Explorer di VS, rekatkan DLL ke folder ini di Windows Explorer, gunakan Tambah> Item yang Ada untuk membawa file ke folder / proyek VS). Kemudian saya referensi mereka sebagai Majelis Dirujuk dalam proyek saya menggunakan lokasi itu ("Referensi"> "Tambahkan Referensi", dan browse ke satu, bilas, ulangi untuk sisanya). Ini memastikan proyek saya tahu persis di mana mereka berada.
- Saya tidak perlu referensi file DLL SQLite di app.config saya atau bahkan menyentuh file MyProject.csproj saya.
- Saya bahkan tidak perlu menentukan prosesor tertentu! Build proyek saya adalah untuk "Any CPU", meskipun saya hanya memiliki DLL campuran atau 64-bit dan hanya akan berjalan pada Windows 7+, yang merupakan OS 64-bit. (tanpa DLL x86-only / 32-bit semata-mata)
- Saya sudah menetapkan mereka sebagai "Konten" dan "salin jika lebih baru" untuk DLL ini ketika saya mengalami kesalahan OP.
Apa yang saya temukan adalah ini, dari https://system.data.sqlite.org/index.html/doc/trunk/www/faq.wiki#q20 :
(11) Mengapa saya mendapatkan DllNotFoundException (untuk "sqlite3.dll" atau "SQLite.Interop.dll") ketika mencoba menjalankan aplikasi saya?
Pustaka tautan dinamis yang dinamai (DLL) tidak dapat ditemukan atau tidak dapat dimuat karena dependensi yang hilang. Pastikan pustaka tautan dinamis bernama terletak di direktori aplikasi atau direktori di sepanjang PATH sistem dan coba lagi. Juga, pastikan runtime Visual C ++ yang diperlukan redistributable telah diinstal kecuali Anda menggunakan pustaka tautan dinamis yang dibuat secara statis yang terhubung dengannya.
Tekankan milikku pada bagian yang tebal di dalam paragraf. Komputer target segar dan tidak ada program yang dimuat kecuali .NET 4.0. Setelah saya menginstal C ++, ia dapat menyelesaikan perintah ke SQLite. Ini seharusnya menjadi salah satu FAQ pertama dan bagian dari prasyarat, tetapi dimakamkan di # 11. Komputer pengembangan saya sudah memuatnya karena ia datang dengan Visual Studio, jadi itu sebabnya bekerja, di sana.
Unduh:
Visual C ++ Redistributable untuk Visual Studio 2015:
https://www.microsoft.com/en-us/download/details.aspx?id=48145
Pembaruan 3 (pembaruan kumulatif):
https://www.microsoft.com/en-us/download/details.aspx?id=53587