C# SQLite更新后:找不到名为';sqlite3_变更_互操作';在DLL中';SQLite.Interop.dll';
在我决定更新SQLite DLL(从1.0.82.0到1.0.84.0)之前,我的C#/SQLite工作得很好。现在我明白了这一点: 在DLL“SQLite.interop.DLL”中找不到名为“sqlite3\u changes\u interop”的入口点C# SQLite更新后:找不到名为';sqlite3_变更_互操作';在DLL中';SQLite.Interop.dll';,c#,sqlite,dll,dllimport,system.data.sqlite,C#,Sqlite,Dll,Dllimport,System.data.sqlite,在我决定更新SQLite DLL(从1.0.82.0到1.0.84.0)之前,我的C#/SQLite工作得很好。现在我明白了这一点: 在DLL“SQLite.interop.DLL”中找不到名为“sqlite3\u changes\u interop”的入口点 System.Data.SQLite.dll中发生了类型为“System.EntryPointNotFoundException”的首次意外异常 系统。关键事务:0:http://msdn.microsoft.com/TraceCodes
System.Data.SQLite.dll中发生了类型为“System.EntryPointNotFoundException”的首次意外异常
系统。关键事务:0:http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/UnhandledUnhandled 无论如何,发生这种情况的情况除外)
我下载的新版本有什么问题吗?我下载了sqlite-netFx40-static-binary-Win32-2010-1.0.84.0.zip32位Windows(.NET Framework 4.0)的预编译静态链接二进制文件
编辑:我恢复到以前的dll,但问题仍然存在,可能是因为Visual C的某些缓存未被清理。请确保项目的x64和x86文件夹中的SQLite.Interop.dll都已更新为1.0.84.0版。是否有源代码管理?因此,您可以在工作状态下回滚文件
清理并构建您的解决方案,然后将SQLite.Interop.DLL设置为“复制到较新版本”。并确保它位于您的bin文件中
关于我建议您从Nuget Package Manager更新Sqlite库。它对我很有用。是的,源代码、VS project和DLL都在Git上。在我写时的EDIT
段落中,我恢复到了以前的DLL
,这意味着使用Git进行恢复。所以我确信它和以前的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; 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()