I managed to fix this issue by building both the Interop.dll file and the dotnet library file on my M1 macbook from source. Only building the Interop.dll results in an EntrypointNotFoundException. To build the library, download the source code from the SQLite website, as of writing this is the file sqlite-netFx-source-1.0.115.5.zip
. Extract it and run the file Setup/compile-interop-assembly-release.sh
. To build the Library, run dotnet build -c Release
in the System.Data.SQLite
directory. Your interop file will be in bin/2013/Release/bin
. I symlinked it to /usr/local/lib/libSQLite.Interop.dll
, but you can also copy it into your project directory as libSQLite.Interop.dll
. Now add a reference to bin/NetStandard21/ReleaseNetStandard21/bin/netstandard2.1/System.Data.SQLite.dll
into your project and it should run fine.
Update:
It also runs fine using the outdated version 1.0.115
directly from NuGet as of writing.