После обновления SQLite: не удалось найти точку входа с именем "sqlite3 изменяет взаимодействие" в DLL " SQLite.Взаимодействие.ДЛЛ'

мой C# / SQLite работал нормально, пока я не решил обновить библиотеки DLL SQLite (от 1.0.82.0 до 1.0.84.0). Теперь я получаю этот сбой:

не удалось найти точку входа с именем ' sqlite3_changes_interop 'в DLL' SQLite.Взаимодействие.библиотеки 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()

код не изменился, поэтому я не думаю, что это проблема кода (вот строка где это происходит, во всяком случае).

что-то не так с новой версией я скачал? Я скачано sqlite-netFx40-static-binary-Win32-2010-1.0.84.0.zip на Precompiled Statically-Linked Binaries for 32-bit Windows (.NET Framework 4.0) абзац в http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

EDIT: я вернулся к предыдущим DLL, но проблема все еще происходит, возможно, потому, что Visual C# имеет некоторый кэш где-то, что не очищается.

3 ответов


убедитесь, что SQLite.Взаимодействие.dll в папках x64 и x86 вашего проекта были обновлены до версии 1.0.84.0.


У вас есть система управления версиями ? Таким образом, вы можете откатить файл в рабочем состоянии.

очистите и создайте свое решение, затем установите SQLite.Взаимодействие.DLL как копия в более новую. и убедитесь, что он находится в файле bin.

в отношении


Я гость вы должны обновить библиотеки Sqlite из диспетчера пакетов Nuget. У меня получилось.