3

我最近完成了一个项目,该项目涉及多个相互通信的不同解决方案。当我在自己的网络和计算机上测试该项目时,它工作正常。但是,当我在工作网络上使用该项目时,解决方案之间无法正常通信。

我的服务器显示以下消息。

Could not load file or assembly 'System.Data.SQLite, Version=1.0.84.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' 
or one of its dependencies.An attempt was made to load a program with an incorrect format.

有任何想法吗?

4

2 回答 2

0

然后您SQLite .NET Connector还必须在另一台计算机上安装该应用程序,当您.Net SQLite Connector在开发计算机上安装该应用程序时,该应用程序可以工作,因此请确保安装它并将System.Data.SQLiteCopyLocal 属性设置为 true

<bin>\App.exe (optional, managed-only application executable assembly)
<bin>\App.dll (optional, managed-only application library assembly)
<bin>\System.Data.SQLite.dll (required, managed-only core assembly)
<bin>\System.Data.SQLite.Linq.dll (optional, managed-only LINQ assembly)
<bin>\x86\SQLite.Interop.dll (required, x86 native interop assembly)
<bin>\x64\SQLite.Interop.dll (required, x64 native interop assembly)

读这个 !

祝你好运

于 2013-04-21T10:44:29.287 回答
0

这通常意味着您作为 32 位 (x86) 进程运行并尝试加载 x64 SQLite 互操作程序集。或相反亦然。

如果您的应用程序是使用 AnyCPU 作为构建选项构建的,则可能是依赖项迫使它在 x64 机器上作为 32 位进程运行,或者您实际上是在 32 位操作系统上运行并且您的代码试图加载错误的互操作。

解决此问题的最简单方法是创建 x86 和 x64 构建并相应地部署。还有其他方法可以动态加载正确的互操作程序集和一些可以帮助您的搜索引擎结果。

于 2013-09-16T04:19:34.130 回答