MAUI Android - System.DllNotFoundException:Mono.Data.Sqlite.SQLite3.Open 处的 sqlite3

问题描述 投票:0回答:1

我从 Xamarin 项目迁移了 MAUI Net 8 项目。 我使用 Mono.Data.SQLite 包进行 SQLite 连接。它在 MAUI iOS 中运行良好。但在 Android 中,它会抛出如下异常,

System.DllNotFoundException: sqlite3 at Mono.Data.Sqlite.SQLite3.Open(String strFilename, SQLiteOpenFlagsEnum flags, Int32 maxPoolSize, Boolean usePool) at Mono.Data.Sqlite.SqliteConnection.Open()

因为

libsqlite3.so
MAUI Android 中缺少该库。而且我不想切换到另一个 SQLite 包,因为它会导致重大代码更改。

那么您能帮我们解决这个问题吗?

c# android .net xamarin maui
1个回答
0
投票

Mono.Data.Sqlite
似乎是一个引用旧包,自 2018 年以来没有更新。我无法评论它在 MAUI 应用程序中的有效性,但考虑到 MAUI 比包新,这可能是你的问题。

如果您的 MAUI 项目中需要 Sqllite,我推荐以下我在几个项目中使用过的软件包组合。

<PackageReference Include="sqlite-net-pcl" Version="1.9.172" />
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.8" />
<PackageReference Include="SQLitePCLRaw.bundle_green" Version="2.1.8" />

这些捆绑包带来了额外的魔力,使其可以跨平台工作。

© www.soinside.com 2019 - 2024. All rights reserved.