2016-07-29 8 views
3

iOS 9.3のXamarin.Forms 2.0アプリケーションでBreeze 0.6用のC#クライアントを使用しています。 WHERE句でクエリを実行すると、アプリケーションはiPhoneシミュレータで動作しますが、実際のデバイスでは失敗します。 「System.Data.Services.Client.TypeSystem」 のタイプ初期化子が例外をスローしたiOSデバイスでWHERE句を使用すると、Breeze C#クライアントが失敗する

:デバイス上の失敗は、メッセージと例外です。

私がwhere句を削除した場合、アプリケーションはもはや例外をスローしませんが、サーバーから返されるデータの量を適切に制限するためにWHERE句を使用できる必要があります。

このエラーの原因は何ですか?

+1

リンカーを使用していますか?それは問題になる可能性があります。リンカを無効にして、where句をそのまま使用してアプリケーションを再実行してみてください。 – hankide

+0

私はここでコメントを始めましたが、それを下に移動して答えとしてマークすることができました。しかし、1つの質問。外部ライブラリを使用する必要がある場合、リンカーは必要ですか?私は最終的に同様に同様に組み込みたい第三者からの外部ObjCベースのライブラリを持っています。私はリンカが必要でしょうか? – Brian

答えて

1

Woohoo!それが助けになりました。ありがとうございました。 「リンカの動作」には3つのオプションがあります。それらは「リンクしない」、「Link Framework SDKのみ」、および「すべてリンクする」です。デフォルトは "Link Framework SDKs Only"でした。私はそれを "Do not Link"に変更し、今はiPhone上で動作します。

編集:これを見て人々のためだけFYI

。リンカをオフにするときは、リンカを2回実行する必要があります。デバッグビルド構成では1回、リリースビルド構成ではもう1回です。私はリリースビルドを動作させることができなかったので、しばらくの間不満を抱いていました。 Xamarin Insightsをセットアップした後、前に見たのと同じリンカエラーが発生し、リリースビルドには同様のリンカー設定があることが分かりました。

関連する問題