我正在为脱机同步构建一个使用Azure Mobile服务的xamarin窗体应用程序--版本如下:
在我将akavache (5.0.0)添加到我的项目之前,在添加任何特定于akavache的代码之前,我运行了该项目并发现
MobileServiceSQLiteStore store = new MobileServiceSQLiteStore(path);正在抛出一个TyleLoadException:
无法从程序集“SQLitePCLRaw.provider.internal、Version=1.0.0.0、Culture=neutral、PublicKeyToken=89ae753b2c608d”加载“SQLitePCLRaw.provider.internal”类型。
以前有人遇到过这种情况吗?当我移除akavache时,一切都恢复正常。
发布于 2017-01-19 15:34:36
是啊,我也很长时间都面临着这个问题。不幸的是,Azure MobileServices和Akavache之间在Sqlite冲突上的包依赖关系。当我为Mobile安装NuGet包时,它安装了您在上面列出的不同版本的库:
安装在我的项目中
问题是Akavache安装了额外的软件包并升级了一些SQLite包。其他人报告了使用带有Akavache的Azure移动应用程序时出现的问题。
我建议您尝试一些其他的东西,比如您的持久密钥存储库(如SecureStorage Xamarin插件组件),或者如果您只需要用数据存储一个用户帐户的话,也许Xamarin.Auth可以工作。
发布于 2017-01-19 18:45:23
您需要将您的SQLiteRaw更新为v1.1.2 --这是由Eric安装的一个修复程序。最新的Azure移动应用程序的.NET客户端SDK使用正确的版本。不幸的是,Akavache也需要使用这个版本,所以我们现在有一个部分的答案。
https://stackoverflow.com/questions/41740515
复制相似问题