无法加载文件或程序集System.Data.SQLite

时间:2013-04-23 14:01:34

标签: sqlite exception load assemblies system.data.sqlite

我有一个工作的Windows窗体应用程序(C#.NET 4),它使用SQLite3数据库文件来存储和读取数据。

当我在dev机器以外的任何机器上部署应用程序时,我得到一个例外:“System.IO.FileNotFoundException:无法加载文件或程序集”

我尝试更改各种设置,手动加载dll(Assembly.LoadFile以及Assembly.LoadFrom)并将dll文件放在exe旁边。此外,我已经尝试在x86以及x64和不同的目标平台下运行应用程序。

我尝试过使用Could not load assembly System.Data.SQLite.dll 一切都没有运气。

请帮忙

4 个答案:

答案 0 :(得分:2)

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

例如,VS2010默认会安装C ++ Redistributable。您可以尝试粘贴应用程序bin文件夹中的“msvcr100.dll”并分发,如果您不想在所有PC中安装VC ++ 2010 Redist。

答案 1 :(得分:1)

您还需要将System.Data.SQLite.Linq.dll和System.Data.SQLite.DLL复制到已部署的exe文件夹。

答案 2 :(得分:0)

您使用的是哪个版本的Visual Studio?也许你的答案在于SQLite with VS 2010 ......

答案 3 :(得分:0)

在将我的应用程序从 .NetFramework 迁移到 .NetCore 时,我遇到了同样的问题。稍后下载从 http://system.data.sqlite.org/index.html/artifact/99229e8a9f2b2617 下载的.NetCore支持的.NetStandard2.0 sqlite版本解决了该问题。最好尝试下载并查看一切是否正常。还要检查内部异常(如果有)并解决