无法加载程序集System.Data.SQLite.dll

use*_*786 5 sqlite load assemblies exception

我有一个完美工作的Windows窗体C#.NET 4应用程序,它使用SQLite3数据库文件来存储数据和显示表单.

当我在除了dev机器之外的任何机器上部署我的应用程序时,我得到一个异常抛出,它的消息是"无法加载程序集System.Data.SQLite.dll或其依赖项之一.无法找到指定的模块."

项目中的System.Data.SQLite.dll引用设置为Copy Local = True.另外,我尝试使用Assembly.LoadFile手动加载程序集.dll放在输出目录中.我也尝试将平台目标设置为任何CPU以及x86,没有区别.我正在使用的所有机器都是32位的.这是什么问题?为什么我的应用程序试图加载程序集而无法找到它?

谢谢!

Kyl*_*rst 14

将程序发布到单独的计算机后,我遇到了同样的问题.在单独的计算机上安装Microsoft Visual C++ 2010 Redistributable Package(x86)修复了该问题.

注意:单独的计算机已安装Microsoft Visual C++ 2010 Redistributable Package(x64),需要x86版本.


Mur*_*gan 7

'System.Data.SQLite.dll"需要"msvcr100.dll",这是它的依赖项之一.只有在您安装了最新的"Microsoft Visual C++ Redistributable"或内部提供此功能的任何其他产品时,此选项才可用.

例如,VS2010默认会安装C++ Redistributable.这就是你的应用程序在某些机器上不起作用但在其他机器中起作用的原因.

您可以尝试粘贴应用程序bin文件夹中的"msvcr100.dll"并分发,如果您不想在所有PC中安装VC++ 2010 Redist.