2017-01-19 4 views
2

私はオフライン同期のためのAzureモバイルサービスを使ってxamarinフォームアプリケーションを構築するよ - バージョンは以下のとおりです。AzureのMobileServicesとAkavache

  • 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追加する前に、私は

MobileServiceSQLiteStore store = new MobileServiceSQLiteStore(path); 

TyleLoadException投げていたプロジェクトを実行し、見つかった、私のプロジェクトにakavache(5.0.0)を追加するまで、正常に動作していた:

をタイプ 'SQLitePCL.SQLite3Provider_internal'をアセンブリ 'SQLitePCLRaw.provider.internal、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = 89ae75803b2c608d'から読み込めませんでした。

誰もがこれまでに遭遇したことはありますか? akavacheを削除すると、すべて正常に戻ります。

答えて

2

ええ、私はこの問題に最長でも直面しました。残念ながら、Sqlite上のAzure MobileServicesとAkavacheとの間のパッケージ依存関係は矛盾しています。私は、モバイルサービスのためのNuGetパッケージをインストールすると、それはあなたが上に挙げたライブラリーの異なるバージョンをインストールします。

私のプロジェクト

  • SQLitePCLRaw.bundle_green」バージョン= 『1.0.0』
  • にインストール

  • SQLitePCLRaw.coreバージョン= "1.0.0

問題はAkavacheは、追加パッケージをインストールし、SQLiteのパッケージの一部をアップグレードしていることです。他の人がAzure Mobile App with Akavacheを使って問題を報告しています。

SecureStorage Xamarin Plugin Componentのような永続的なKey-Storeとして試してみることをお勧めします。ユーザーアカウントにデータを格納するだけでよい場合は、Xamarin.Authが機能するかもしれません。

+0

あなたの返信ありがとう - 私はそれがこのようなものだと思っていた – markpirvine

+0

うん、それはバマーだ – BrewMate

2

SQLiteRawをv1.1.2に更新する必要があります。これは、Eric Sinkによって修正されたものです。 Azure Mobile Apps用の最新の.NET Client SDKは適切なバージョンを使用します。残念ながら、Akavacheもこのバージョンを使用する必要がありますので、今、部分的な回答があります。

+0

再び救助者にエイドリアン!まあ、部分的な救助。 – winnicki

関連する問題