SQLite.Interop.dll Entry point for version 1.0.117
(1) By anonymous on 2024-04-09 19:40:07 [source]
After updating we are seeing this exception: System.EntryPointNotFoundException: Unable to find an entry point named 'SIf060fffd3e5c94b5' in DLL 'SQLite.Interop.dll'. Here is our method call (C#): [DllImport("SQLite.Interop.dll", EntryPoint = "SIf060fffd3e5c94b5", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] private static extern int SetDirectory(uint directoryType, string directoryPath); Our best guess is that we need to update the entry point (assuming this version of SQLite.Interop.dll has the same method signature.) Does anyone know how to go about determining the entry point value?
(2) By anonymous on 2024-04-10 15:49:33 in reply to 1 [link] [source]
Hey I'm replying to my own post for anyone looking at this. I used Jetbrains' dotnet Peek to find the value for the function 'sqlite3_win32_set_directory'. For 1.0.117 it's SId6f924c8ba3d05b2
(3.1) By Aask (AAsk1902) on 2024-04-10 19:16:45 edited from 3.0 in reply to 2 [link] [source]
I am just very curious.
Whenever I've defined a p/invoke function, I've always had the EntryPoint and the name of the function as a unified identifier, meaning identical.
private static extern int SetDirectory(uint directoryType, string directoryPath);
You seem to have the EntryPoint and the name of the function as different identifiers ... probably because SetDirectory is either more readable than sqlite3_win32_set_directory or is exposed in System.Data.SQLite.DLL with other subtleties.
What happens when you specify the entry point as sqlite3_win32_set_directory instead of SId6f924c8ba3d05b2? My gut feeling is that it will work.
(I could try it out myself but this does not lend itself to a quick assessment).