xamarin – 在Android 7上使用EF7 SQLite

xamarin – 在Android 7上使用EF7 SQLite,第1张

概述在我的项目中,我使用的是NuGet的Microsoft.EntityFrameworkCore.SQLite包.但是对于 Android 7,该应用程序因未经授权访问“/system/lib64/libsqlite.so”而崩溃. 这是因为Android 7不允许除NDK之外的本地库(据我所知).另请参阅此问题:https://github.com/aspnet/EntityFramework/i 在我的项目中,我使用的是NuGet的Microsoft.EntityFrameworkCore.sqlite包.但是对于 Android 7,该应用程序因未经授权访问“/system/lib64/libsqlite.so”而崩溃.

这是因为AndroID 7不允许除NDK之外的本地库(据我所知).另请参阅此问题:https://github.com/aspnet/EntityFramework/issues/7777.

所以,我现在研究了互联网大约2天,但未成功尝试了很多东西让EFCore在AndroID 7上工作.其中一个是更新到预览版v2.0.0-prevIEw1-final.但这导致了其他问题,例如以下应用程序编译的问题,但在模拟器上部署/启动时崩溃:

06-21 09:58:18.970 D/Mono    ( 3632): Assembly Loader probing location: 'System.Runtime.CompilerServices.Unsafe'.06-21 09:58:18.970 F/monodroID-assembly( 3632): Could not load assembly 'System.Runtime.CompilerServices.Unsafe' during startup registration.06-21 09:58:18.970 F/monodroID-assembly( 3632): This might be due to an invalID deBUG installation.

然后我尝试手动将’System.Runtime.CompilerServices.Unsafe’NuGet包添加到我的项目中,但它没有解决问题.
我搞砸了很多,尝试不同的构建参数等,并且实际上在AndroID 7模拟器上使用EFCore的预览包运行应用程序.但是,在项目清理和重建之后,错误再次出现.

有关如何让EFCore sqlite在AndroID 7上运行的任何帮助?

我使用Visual Studio 2017与Xamarin.AndroID 7.3.1.2

我创建了一个示例项目来重现这个问题:https://github.com/tipa/EFCoreSample – 基本上刚开始使用VS的基本AndroID模板并添加了Nuget包

解决方法 我知道这是在两个多月前提出来的,你可能已经找到了解决方案,但我想发布我们如何设法解决这个问题.

我们正在使用EntityFrameworkCore和sqlite开发一个Xamarin.Forms应用程序.由于项目和公司政策,我们仅限于使用.NetStandard 1.6(我们将我们的PCL项目从.NetFramework迁移到.NetStandard以集成EntityFrameworkCore).

在此问题开始发生之后,我们通过执行以下 *** 作设法解决了这个问题:

>在DAL项目中将“Microsoft.EntityFrameworkCore”和“Microsoft.EntityFrameworkCore.sqlite”从版本“1.1.1”更新为“2.0.0-prevIEw1-final”(这是与.NetStandard 1.6一起使用的最新版本)(我们有一个单独的PCL项目,包含Context,UoW,RepositorIEs和Models)
>在主Xamarin.Forms AndroID项目中仅更新“Microsoft.Data.sqlite”(这会自动更新所需的依赖项)从版本“1.1.1”到“2.0.0-prevIEw1-final”

EntityFrameworkCore版本2.x.x使用AndroID 7“批准”方式访问“libsqlite.so”文件,而版本1.x.x则不使用.

希望这对任何可能使用我们拥有的类似软件包的人都有帮助.

总结

以上是内存溢出为你收集整理的xamarin – 在Android 7上使用EF7 SQLite全部内容,希望文章能够帮你解决xamarin – 在Android 7上使用EF7 SQLite所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1126054.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存