Недавно я тоже сталкивался с этой проблемой: создание приложения, использующего Sqlite в Windows, с Visual Studio и развертывание его на сервере Ubuntu Server для производства.
Самое простое решение, которое я нашел, это использование драйвера Mono для Sqlite: Mono.Data.Sqlite .
Все могло бы быть немного проще, но есть ошибка с .Net 4.0 , которая еще не включена в официальные релизы Mono.
Так что вам придется скомпилировать Mono из исходного кода ( общие инструкции здесь ):
- сначала скомпилируйте весь Mono
- вам не нужно устанавливать его, если вы хотите сохранить текущие настройки Mono
- скопировать Mono.Data.Sqlite.dll библиотека
Конечно, вы можете «кросс-компилировать»: я собрал Mono на Ubuntu Server и использовал dll в проекте Windows .Net.
Затем убедитесь, что у вас есть собственная библиотека Sqlite (sqlite3.dll для Windows и sqlite3.so для Linux) в пути к вашей библиотеке: для Windows я просто скопировал sqlite3.dll рядом со сборкой Mono.Data.Sqlite.dll, для Linux она должна работать "из коробки".
Ваш проект должен работать без проблем в средах Windows / .Net и Linux / Mono.