在Mono上使用System.Data.SQLite有两种选择,而不是使用Mono.Data.SQLite:
使用/property:UseSqliteStandard=true
选项构建System.Data.SQLite.dll,这意味着它将在Windows上加载sqlite3.dll,在Linux上加载相应的.so文件(而不是Windows本机SQLite.Interop) .DLL)。
在目标Mono机器上构建libSQLite.Interop.so,并在您的应用程序中使用它。
我已经尝试了两种选择,他们在Debian和Raspbian上工作得很好。
这引发了一个问题,为什么,何时以及是否应该使用Mono.Data.SQLite而不是System.Data.SQLite?
System.Data.SQLite NuGet包比Mono.Data.SQLite更频繁地更新(现在,它已经超过1。5年了,包括DateTime转换错误的修复),所以除非我&# 39; m缺少一些关键的东西,似乎使用System.Data.SQLite而不是Mono变体是有利的。或者Mono.Data.SQLite中是否有一些iOS / Android特定代码使得这些平台成为必需?