B
B
bidolah2015-02-11 00:58:49
linux
bidolah, 2015-02-11 00:58:49

Porting to Linux with MonoDevelop. Problem with NuGet package System.Data.SQLite... in Mono does not find SQLite.Interop.dll. What to do?

There is a program written in .Net 4.0 that needs to be ported to Linux (ubuntu 14.04). I use MonoDevelop for porting. Everything works fine on windows, I use the System.Data.SQLite NuGet package to work with the database. When I add the System.Data.SQLite package to the Mono project, everything is fine, but as soon as I run the program d81e53dfb9e449f2a68de0f85bb72d4d.png
, the SQLite.Interop.dll file is not found. But in the project folder itself there are x64, x86 folders where the SQLite.Interop.dll file is located.
Maybe someone knows? Wouldn't want to use Mono.Data.Sqlite.
Thank you.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
T
tsul, 2015-02-17
@bidolah

System.Data.SQLite.dll under Linux should not use SQLite.Interop.dll, but
libsqlite3.so
In the first case, the version of the system library may be older than needed for System.Data.SQLite, there may be problems with new features. I did the second option. I also had to recompile System.Data.SQLite itself:

SET MSBUILD_ARGS=/property:UseInteropDll=false /property:UseSqliteStandard=true
set NETFX35ONLY=1
call build.bat ReleaseManagedOnly

although you could probably use Mono dllmap .

M
mayorovp, 2015-02-11
@mayorovp

You can't use native windows dll under linux.

V
Vitaly Pukhov, 2015-02-11
@Neuroware

you will have to connect your native Mono.Data.Sqlite and remake the code for it, you can't "transfer" the win32 library like that

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question