After SQLite update: Unable to find an entry point named 'sqlite3_changes_interop' in DLL 'SQLite.Interop.dll'

StackOverflow https://stackoverflow.com/questions/14396656

Pergunta

My C#/SQLite was working fine until I decided to update the SQLite DLLs (from 1.0.82.0 to 1.0.84.0). Now I get this crash:

Unable to find an entry point named 'sqlite3_changes_interop' in DLL 'SQLite.Interop.dll'

A first chance exception of type 'System.EntryPointNotFoundException' occurred in System.Data.SQLite.dll
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Unhandled exception</Description><AppDomain>SparkleShare.vshost.exe</AppDomain><Exception><ExceptionType>System.EntryPointNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Unable to find an entry point named 'sqlite3_changes_interop' in DLL 'SQLite.Interop.dll'.</Message><StackTrace>   at System.Data.SQLite.UnsafeNativeMethods.sqlite3_changes_interop(IntPtr db)
   at System.Data.SQLite.SQLite3.get_Changes()
   at System.Data.SQLite.SQLiteStatement.TryGetChanges(Int32&amp;amp; changes)
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()

The code has not changed, so I don't think it is a code problem (here is the line where it happens, anyway).

Is there something wrong with the new version I downloaded? I downloaded sqlite-netFx40-static-binary-Win32-2010-1.0.84.0.zip at the Precompiled Statically-Linked Binaries for 32-bit Windows (.NET Framework 4.0) paragraph at http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

EDIT: I reverted back to the previous DLLs, but the problem still happens, maybe because Visual C# has some cache somewhere that does not get cleaned.

Foi útil?

Solução

Make sure that the SQLite.Interop.dll in both the x64 and the x86 folders of your project have been updated to version 1.0.84.0.

Outras dicas

Do you have Source Control ? So you can rollback your file on its working state.

Clean and Build your solution then set your SQLite.Interop.DLL as copy to newer. and make sure that it is located on your bin file.

Regards

I guest you should to update Sqlite libraries from Nuget Package Manager. It worked for me.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top