【发布时间】:2013-02-24 23:37:32
【问题描述】:
我有一个用 C# 编码的小应用程序,它可以与 sqlite 数据库一起使用,所以在编译时我有已编译的 exe + 2 个 dll:SQLite.Interop.dll 和 System.Data.SQLite.dll
在我编译它的机器上它运行完美(w7),但今天我将它移到另一台装有 win XP 的机器上,我在尝试执行它时得到了这个(应用程序有一个带有异常 msgbox 的 try catch ):
System.DllNotFoundException: 无法加载 DLL 'SQLite.Interop.dll' 找不到指定的模块。
所需的所有dll都与exe位于同一文件夹中,可能导致错误的原因是什么?
有什么办法可以在 exe 中编译或打包 dll 吗?
【问题讨论】:
-
这是什么
SQLite.Interop.dll?无论如何,请检查 bitness. -
互操作 DLL 通常包含 P/Invoke 定义等,或围绕它们的包装器以供托管代码使用。 SQLite 是一个原生应用程序。
-
尝试再次将 SQLite.Interop.dll 的引用添加到您的应用程序中。
-
重新添加参考,重新编译,移动到其他机器,同样的问题。我正在搬到德尔福。