我正在使用VB.NET。我有这个程序开发,我成功运行它与SQLite作为其数据库。问题是,当我尝试在新安装的Windows 7的虚拟机中运行程序时,它给了我一个错误:
无法加载文件或程序集“System.Data.SQLite.dll”或其依赖项之一。
当然,然后,我包含了汇编文件System.Data.SQLite.dll,但它仍然给了我同样的错误。我认为这可以解决问题,我将该汇编文件放在Windows 7中的同一目录中。它仍然无法正常工作。
我发布了我的项目并尝试在虚拟机中部署它,但是它给我一个错误,即应该在GAC(全局程序集缓存)中安装System.Data.SQLite.dll。这一次,我使用了InstallShield LE(我不知道如何使用它,我只是将调试文件夹中的所有文件都包含在内)并将其安装在VM中,但仍然是"无法加载程序集& #34;出现错误。
我该怎么办?我缺少什么?
答案 0 :(得分:1)
在部署SQLite时,您需要底层的互操作库。 (命名为" Interop.Sqlite.dll")
在我的部署中,我使用了本页SQLite XCOPY Interop
中提到的XCOPY方法基本上,方法是在项目中创建2个文件夹,一个名为" x86"一个" x64"。将每个文件夹放在32位或64位版本的" Interop.SQLite.dll"并将文件属性设置为"内容"和"复制如果更新"所以文件包含在程序的输出目录中。 (主程序集将使用基于目标平台的正确程序)这假定您的程序设置为"任何CPU"部署。
否则你只需要包含正确的" Interop.SQLite.dll"文件。
这应该是输出目录的基本结构(来自链接)
答案 1 :(得分:0)
创建安装程序时,您是否已将SQLite安装到GAC?如果没有,那就没有帮助。
基本上,您有两种选择: