
这是因为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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)