在某些计算机上,应用程序无法加载sqlite dll文件

Dav*_*jak 6 c# sqlite deployment system.data.sqlite

我编写了一个使用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专业版,并且只是复制粘贴文件,并且事情有效.因此,如果它在一个新窗口上工作,我无法想象其他PC可能会丢失什么...

注意:项目抛出异常的其中两台机器也运行Windows 7 proffesional.

我真的很感激这方面的任何帮助,因为我是新鲜的想法......

Ric*_*dle 12

这是一种可能性:工作和非工作机器之间的区别是32位还是64位?您是否正在为"任何CPU"构建,当您应该构建外部DLL的位数时?

  • 在Web应用程序方案中,您可以在IIS中设置应用程序池以允许32位应用程序,这通常可以解决问题. (2认同)