2017-05-29 84 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工作正常。