0

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

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

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

我试过使用无法加载程序集 System.Data.SQLite.dll 都没有运气。

请帮忙

4

4 回答 4

2

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

于 2013-04-24T19:06:01.083 回答
2

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

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

于 2013-04-25T10:54:44.277 回答
1

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

于 2019-11-18T15:05:23.733 回答
0

您使用的是什么版本的 Visual Studio?也许您的答案在于带有 VS 2010 的 SQLite ...

于 2013-04-24T06:50:08.463 回答