无法加载DLL' SQLite.Interop.dll',但在另一个项目上它工作正常

时间:2018-03-15 01:54:52

标签: c# .net winforms sqlite

我已经创建了一个Winforms应用程序,并且正在使用SQLite 3和Visual Studio 2017.SQLite似乎安装正确(实际上,与另一个解决方案中的另一个WinForms应用程序相同,它可以正常工作)。我得到了这个:

"无法加载DLL' SQLite.Interop.dll':找不到指定的模块。 (HRESULT异常:0x8007007E)"

SQLite.Interop.dll存在于bin / Debug /文件夹的x86和x64子文件夹中。

代码是:

sqlConnection = new SQLiteConnection(ConnString);
sqlConnection.Open();

实例化连接时抛出异常。连接字符串为:"Data Source=C:\\ImageDataDB.db;Version=3;New=False;Compress=True;"

1 个答案:

答案 0 :(得分:0)

我正在回答我自己的问题,因为我在另一个StackOverflow问题中找到了答案。奇怪的是,我发现答案的问题没有出现在StackOverflow的搜索中,而是出现在Bing搜索中的第一个显示的SO结果“无法加载DLL'SQLite.Interop.dll'”。

使用成功回答HERE查看问题。

为了切入追逐,当我(通过Nuget)将Sqlite库安装到Winforms项目时,问题就消失了,之前它们只安装到包含实际Sqlite代码的类库项目中。通过右键单击Winforms项目的引用,选择Manage Nuget Packages,然后从那里运行Sqlite安装来完成此安装。

如果我在Winforms和数据层项目之间创建了一个缺少Nuget Sqlite包中间层的业务层项目(用winlayer项目取代对winforms项目中数据层项目的引用),我想知道是否会再次遇到问题项目本身引用了数据层引用)。但问题没有重现。所以这一切都很好!