分布式系统sqlite错误

本文关键字:错误 sqlite 分布式系统 | 更新日期: 2023-09-27 18:10:23

我最近完成了一个项目,涉及多个不同的解决方案相互通信。当我在自己的网络和电脑上测试这个项目时,它工作得很好。但是,当我在工作网络上使用该项目时,解决方案不能正确地相互通信。

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

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.

任何想法?

分布式系统sqlite错误

那么您必须在另一台计算机上安装SQLite .NET Connector,当您在开发计算机上安装.Net SQLite Connector时,应用程序也可以工作,因此请确保安装它并将System.Data.SQLite CopyLocal属性设置为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)

读一读

好运

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

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

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