Alejandro Ricotti Asked: 2020-09-13 10:24:26 +0800 CST 2020-09-13 10:24:26 +0800 CST 2020-09-13 10:24:26 +0800 CST 无法加载 DLL 'SQLite.Interop.DLL' 772 这是我运行应用程序时出现在某些计算机上的错误,我有库SQLite.Interop.dll并且System.Data.SQLite.dll与可执行文件位于同一目录中。 我还尝试将这两个库复制到C:\windows\system32和C:\windows\SysWOW64 作为我拥有的项目中的引用System.Data.SQLite,我想添加另一个进行测试,它出现: visual-studio 3 Answers Voted Best Answer Agustin M. 2020-09-15T09:35:33+08:002020-09-15T09:35:33+08:00 好吧,解决方案从所需的解释和退出点的示例开始。 首先,向您解释一下,为了使用 SQLite,了解我们正在编译的架构非常重要。因为在x86中编译时SQLite.Interop.dll 是一个,而在x64中是另一个。 考虑到在某些机器上,正如你所说,它对你有用(就像对我一样)它花了我更多的钱,但我发现问题出在哪里。 问题在于,在这些机器上,您肯定没有安装Microsoft Visual C++ 2010 Redistributable Package (x86) 。 祝福:https ://www.microsoft.com/en-gb/download/details.aspx?id=5555 我已经在我的开发机器上安装了这两个包(x64 和 x86),但是在与你有同样问题的计算机上,我只下载了可再发行包(x86)并且不再出现像你一样的错误窗口。 总之: 如果我用x86(32 位)编译我的项目,我必须考虑: 在应用程序的同一根目录中传输x86 System.Data.SQLite。 将x86 SQLite.Interop.dll 移植到与应用程序相同的根目录中。 安装Microsoft Visual C++ 2010 Redistributable Package (x86)。 Juan Carlos Oropeza 2020-09-12T07:30:40+08:002020-09-12T07:30:40+08:00 System.Data.SQLite通过从 Nuget安装为我解决了这个问题。 您安装第一个,然后安装其他 3 个。 Ejrr1085 2021-10-27T09:01:36+08:002021-10-27T09:01:36+08:00 这对我有用,因为在通过 Nuget 安装 System.Data.SQLite 后我遇到了同样的问题: 无法加载 DLL 'SQLite.Interop.dll' 更新: 它必须由 Nuget 安装,System.Data.SQLite或者System.Data.SQLite.Core在只有 NET Framework 的情况下,然后在项目中必须创建两个名为 x86 和 x64 的文件夹,在每个文件夹中都必须SQLite.Interop.dll根据架构添加,这个 dll 在文件夹中找到packages安装 Nuget 时创建的,例如: ..\MiProyecto\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.0\build\net46 该文件夹build包含不同版本的 .NET Framework 的多个子文件夹。 最后,在每个添加的 dll 中,必须在属性窗口中更改属性:“更改输出目录”从“不复制”到“始终复制”。
好吧,解决方案从所需的解释和退出点的示例开始。
首先,向您解释一下,为了使用 SQLite,了解我们正在编译的架构非常重要。因为在x86中编译时SQLite.Interop.dll 是一个,而在x64中是另一个。
考虑到在某些机器上,正如你所说,它对你有用(就像对我一样)它花了我更多的钱,但我发现问题出在哪里。
问题在于,在这些机器上,您肯定没有安装Microsoft Visual C++ 2010 Redistributable Package (x86) 。
祝福:https ://www.microsoft.com/en-gb/download/details.aspx?id=5555
我已经在我的开发机器上安装了这两个包(x64 和 x86),但是在与你有同样问题的计算机上,我只下载了可再发行包(x86)并且不再出现像你一样的错误窗口。
总之:
如果我用x86(32 位)编译我的项目,我必须考虑:
System.Data.SQLite
通过从 Nuget安装为我解决了这个问题。您安装第一个,然后安装其他 3 个。
这对我有用,因为在通过 Nuget 安装 System.Data.SQLite 后我遇到了同样的问题: 无法加载 DLL 'SQLite.Interop.dll'
更新: 它必须由 Nuget 安装,
System.Data.SQLite
或者System.Data.SQLite.Core
在只有 NET Framework 的情况下,然后在项目中必须创建两个名为 x86 和 x64 的文件夹,在每个文件夹中都必须SQLite.Interop.dll
根据架构添加,这个 dll 在文件夹中找到packages
安装 Nuget 时创建的,例如:该文件夹
build
包含不同版本的 .NET Framework 的多个子文件夹。最后,在每个添加的 dll 中,必须在属性窗口中更改属性:“更改输出目录”从“不复制”到“始终复制”。