Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQLite正在尝试从陌生位置加载SQLite.Interop_C#_Sqlite_Dll - Fatal编程技术网

C# SQLite正在尝试从陌生位置加载SQLite.Interop

C# SQLite正在尝试从陌生位置加载SQLite.Interop,c#,sqlite,dll,C#,Sqlite,Dll,x86和x64文件夹中System.Data.SQLite.dll和SQLite.Interop.dll的版本都在1.0.97.0上(参考也是此版本,从旧版本更新)。但是,我有以下错误: 在DLL“SQLite.interop.DLL”中找不到名为“sqlite3\u changes\u interop”的入口点 因为它们都是相同的版本,而且帖子也很相似,所以我无法提供帮助。 我已启用本机代码调试。SQLite dll本身似乎是从正确的位置加载的,因为我在调试输出中看到一条消息,类似于: 已加载

x86和x64文件夹中System.Data.SQLite.dll和SQLite.Interop.dll的版本都在1.0.97.0上(参考也是此版本,从旧版本更新)。但是,我有以下错误:

在DLL“SQLite.interop.DLL”中找不到名为“sqlite3\u changes\u interop”的入口点

因为它们都是相同的版本,而且帖子也很相似,所以我无法提供帮助。
我已启用本机代码调试。SQLite dll本身似乎是从正确的位置加载的,因为我在调试输出中看到一条消息,类似于:

已加载“L:\path\u到\u项目\u文件夹\x64\System.Data.SQLite.dll”

这些其他行也存在于输出中:

已加载“L:\path\u到\u项目\u文件夹\x64\SQLite.Interop.dll”
已加载“C:\Program Files(x86)\Dell Backup and Recovery\Components\Shell\SQLite.Interop.dll”

这对我来说似乎很奇怪。。。我有一个Dell Backup and Recovery实用程序,在这个路径中有一个较旧版本的SQLite和Interop dll(都是1.0.80.0),所以我的项目文件夹中的SQLite似乎正在尝试使用这个Interop dll,我完全不知道为什么

有什么特别的原因会发生这种情况吗?有没有办法避免/消除这种行为


请不要建议删除此实用程序,因为要求所有使用该程序的客户都这样做并不合适。

显然问题出在我的系统上安装的Dell Backup and Recovery utility上。在阅读有关涉及同一个实用程序的类似问题时,似乎该实用程序正在以某种方式强制使用SQLite的特定旧版本

我的程序一启动就打开内存连接,似乎解决了这个问题。现在正在加载正确的版本

using (SQLiteConnection conn = new SQLiteConnection("Data Source=:memory:"))
{
    conn.Open();
}  

在更新SQLite之前,我似乎没有看到这个问题,因为我所拥有的参考资料和所使用的Dell工具的interop版本是兼容的。

显然,问题出在我的系统上安装的Dell Backup and Recovery utility上。在阅读有关涉及同一个实用程序的类似问题时,似乎该实用程序正在以某种方式强制使用SQLite的特定旧版本

我的程序一启动就打开内存连接,似乎解决了这个问题。现在正在加载正确的版本

using (SQLiteConnection conn = new SQLiteConnection("Data Source=:memory:"))
{
    conn.Open();
}  

在更新SQLite之前,我似乎没有看到这个问题,因为我的参考和Dell工具使用的interop版本是兼容的。

是否尝试将.dll移动到项目中?不作为参考。只是把它拖放到那里,然后设置为总是复制?我只是努力解决这个问题,这就是我的解决方案。你有没有尝试将.dll移到项目中?不作为参考。只是把它拖放到那里,然后设置为总是复制?我只是努力解决这个问题,这就是我的解决方案