System.Data.SQLite.dll под Linux должен использовать не SQLite.Interop.dll, а libsqlite3.so
Т.е.
- либо нужен предустановленный пакет sqlite3 (libsqlite3, sqlite3-dev), чтобы библиотека libsqlite3.so была в системных,
- либо компилировать исходники sqlite3 на конкретной системе и класть libsqlite3.so.0 рядом с System.Data.SQLite.dll вместо SQLite.Interop.dll.
В первом случае версия системной библиотеки может быть старее, чем нужна для System.Data.SQLite, могут быть проблемы с новыми фичами. Я делал по второму варианту. Пришлось еще перекомпилировать сам System.Data.SQLite:
SET MSBUILD_ARGS=/property:UseInteropDll=false /property:UseSqliteStandard=true
set NETFX35ONLY=1
call build.bat ReleaseManagedOnly
хотя наверное можно было использовать
Mono dllmap.