Azure 移动服务和 Akavache
Azure MobileServices and Akavache
我正在使用 Azure 移动服务构建一个 xamarin 表单应用程序以进行离线同步 - 版本是:
- Microsoft.Azure.Mobile.Client 3.1.0
- Microsoft.Azure.Mobile.Client.SQLiteStiore 3.1.0
- SQLitePCL 3.8.7.2
- SQLitePCLRaw.bundle_green 1.1.2
- SQLitePCLRaw.core 1.1.2
这工作正常,直到我将 akavache (5.0.0) 添加到我的项目中,在添加任何特定于 akavache 的代码之前,我 运行 该项目并找到
MobileServiceSQLiteStore store = new MobileServiceSQLiteStore(path);
正在抛出 TyleLoadException:
无法从程序集 'SQLitePCLRaw.provider.internal, Version=1.0.0.0, Culture=neutral, PublicKeyToken=89ae75803b2c608d' 加载类型 'SQLitePCL.SQLite3Provider_internal'。
有人遇到过这个吗?当我删除 akavache 时,一切 returns 恢复正常。
是的,我也是遇到这个问题时间最长的。不幸的是,Azure MobileServices 和 Akavache on Sqlite 之间的包依赖性发生冲突。当我为移动服务安装 NuGet 包时,它会安装上面列出的库的不同版本:
安装在我的项目中
- SQLitePCLRaw.bundle_green" 版本="1.0.0"
- SQLitePCLRaw.core 版本="1.0.0
问题是 Akavache 安装了额外的包并升级了一些 SQLite 包。其他人报告了使用 Azure Mobile App with Akavache.
的问题
我建议尝试其他方法,因为如果您只需要用数据存储用户帐户,SecureStorage Xamarin Plugin Component or maybe Xamarin.Auth 等持久性 Key-Store 就可以工作。
您需要将 SQLiteRaw 更新到 v1.1.2 - 这是由 Eric Sink 实施的修复。适用于 Azure 移动应用程序的最新 .NET 客户端 SDK 使用正确的版本。不幸的是,Akavache 也需要使用这个版本,所以我们现在有部分答案。
我正在使用 Azure 移动服务构建一个 xamarin 表单应用程序以进行离线同步 - 版本是:
- Microsoft.Azure.Mobile.Client 3.1.0
- Microsoft.Azure.Mobile.Client.SQLiteStiore 3.1.0
- SQLitePCL 3.8.7.2
- SQLitePCLRaw.bundle_green 1.1.2
- SQLitePCLRaw.core 1.1.2
这工作正常,直到我将 akavache (5.0.0) 添加到我的项目中,在添加任何特定于 akavache 的代码之前,我 运行 该项目并找到
MobileServiceSQLiteStore store = new MobileServiceSQLiteStore(path);
正在抛出 TyleLoadException:
无法从程序集 'SQLitePCLRaw.provider.internal, Version=1.0.0.0, Culture=neutral, PublicKeyToken=89ae75803b2c608d' 加载类型 'SQLitePCL.SQLite3Provider_internal'。
有人遇到过这个吗?当我删除 akavache 时,一切 returns 恢复正常。
是的,我也是遇到这个问题时间最长的。不幸的是,Azure MobileServices 和 Akavache on Sqlite 之间的包依赖性发生冲突。当我为移动服务安装 NuGet 包时,它会安装上面列出的库的不同版本:
安装在我的项目中
- SQLitePCLRaw.bundle_green" 版本="1.0.0"
- SQLitePCLRaw.core 版本="1.0.0
问题是 Akavache 安装了额外的包并升级了一些 SQLite 包。其他人报告了使用 Azure Mobile App with Akavache.
的问题我建议尝试其他方法,因为如果您只需要用数据存储用户帐户,SecureStorage Xamarin Plugin Component or maybe Xamarin.Auth 等持久性 Key-Store 就可以工作。
您需要将 SQLiteRaw 更新到 v1.1.2 - 这是由 Eric Sink 实施的修复。适用于 Azure 移动应用程序的最新 .NET 客户端 SDK 使用正确的版本。不幸的是,Akavache 也需要使用这个版本,所以我们现在有部分答案。