我编写了一个使用 sqlite 的应用程序,它在大多数系统上都运行良好。它是用 C# 编写的,唯一的非框架程序集是 sqlite,它包含在 System.Data.SQLite.dll 中。
我在所有机器上以相同的方式部署它(复制粘贴 exe 文件、数据库文件和 System.Data.SQLite 文件)。它适用于我所有的 PC 以及我尝试过的大多数 PC。
但是后来我得到报告,对于某些人来说,它会引发以下异常:
无法加载文件或程序集 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' 或其依赖项之一。试图加载格式不正确的程序。
现在我已确定 dll 文件与应用程序 exe 文件位于同一文件夹中。它是相同的 dll,具有与上述异常消息中所述相同的版本。
我真的很困惑,所以我创建了一个新的虚拟机,在上面安装了 windows 7 专业版,然后复制粘贴了文件,事情就成功了。因此,如果它可以在新的 Windows 上运行,我无法想象其他 PC 可能会丢失什么......
注意:项目引发异常的其中两台机器也在运行 windows 7 proffesional。
我真的很感激这方面的任何帮助,因为我刚刚没有想法......