2017-05-29 87 views
3

我们正在尝试在Linux操作系统(Raspberry Pi - Ubuntu Mate)上运行asp.net核心2.0(最新预览版),并且我们能够解决几乎所有的问题,所以应用程序工作得很好。我们可以连接和读取数据库,但在Linux上,我们得到以下错误: System.DllNotfoundException:无法使用SQL Db(Sqlite)在Windows上运行它,一切工作正常,加载DLL'e_sqlite3':无法找到指定的模块或其依赖项之一。 (来自HRESULT的异常:0x8007007E)。Asp.Net核心2.0 Linux操作系统 - SQLIte问题

我想我已经尝试了一切,在linux上安装了sqlite,但没有任何帮助。

任何想法可能是错误的?

非常感谢 雷达

回答

0

我有经过一番调查,我认为这是因为e_sqlite3.dll对于ARM是不是(还)包括SQLitePCLRaw.bundle_green包同样的问题和我。

该软件包包含不同体系结构的dll,但linux-arm尚未在依赖项中提及()。

我们可能要等到.NET核心ARM团队增加了它正常...

1

我改变了我用来连接到SQLite的这一个 https://www.nuget.org/packages/sqlite-net-pcl/

,然后库(和不知道为什么),在Linux上,我必须执行SQLite.cs并手动将其添加到项目中。 因此,对于Linux,我必须将CS包括在内,并且对于Windows,我只是将它排除在外,所以它是DLL的一部分。没有做更多的调查,但它也适用于Windows和Linux。 如果您需要更多帮助,请让我知道。

https://github.com/oysteinkrog/SQLite.Net-PCL

此文件: https://github.com/praeclarum/sqlite-net/blob/master/src/SQLite.cs

感谢 雷达

1

我认为我们将不得不等待,在issue未关闭。

UPDATE:

这个问题被关闭,并推出新的版本。您只需要安装程序包SQLitePCLRaw.bundle_green的最新版本1.1.8,并且ARM中的SQLite工作正常。