Microsoft OData Client Xamarin не работает

Кто-нибудь знает, если и как клиент Microsoft OData должен работать на Xamarin Droid?

Это пакет NuGet "Microsoft.OData.Client".

Он отлично работает в консольном приложении, даже если пакеты сборки содержатся только в проекте PCL.

Я пытался через генератор кода OData v4.

При запуске на Xamarin вот что я получаю:

System.AggregateException: One or more errors occured

08-28 17:12:35.621 I/MonoDroid(29197): UNHANDLED EXCEPTION: System.AggregateException: One or more errors occured ---> Microsoft.OData.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.InvalidOperationException: An error occurred while processing this request. ---> System.InvalidCastException: Cannot cast from source type to destination type.
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.AsyncEndRead (System.Threading.Tasks.Task task, System.Object asyncState) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.BaseAsyncResult.EndExecute[QueryResult] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.DataServiceRequest.EndExecute[Nitzrech] (System.Object source, Microsoft.OData.Client.DataServiceContext context, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197): at System.Threading.Tasks.Task.Wait (int,System.Threading.CancellationToken) <IL 0x0004a, 0x0025c>
08-28 17:12:35.621 I/MonoDroid(29197): at System.Threading.Tasks.Task.Wait () <IL 0x00007, 0x00077>
08-28 17:12:35.621 I/MonoDroid(29197): at System.Threading.Tasks.Task`1<System.Collections.Generic.IEnumerable`1<Client.ODataClient.Nitzrech>>.get_Result () <0x0007b>
08-28 17:12:35.621 I/MonoDroid(29197): at Client.DataAccess.NewRepository.GetServerTable<Client.ODataClient.Nitzrech> () <0x00167>
08-28 17:12:35.621 I/MonoDroid(29197): at Client.Droid.MainActivity.OnCreate (Android.OS.Bundle) [0x00032] in c:\Users\Avrohom\Documents\Visual Studio 2013\Projects\OData\Client\Client\Client.Droid\MainActivity.cs:33
08-28 17:12:35.621 I/MonoDroid(29197): at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (intptr,intptr,intptr) [0x00011] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.14-series/a5d57087/source/monodroid/src/Mono.Android/platforms/android-19/src/generated/Android.App.Activity.cs:2179
08-28 17:12:35.621 I/MonoDroid(29197): at (wrapper dynamic-method) object.aebd8c0d-1bcc-4b67-a482-f6f129f09cca (intptr,intptr,intptr) <IL 0x00017, 0x00043>
08-28 17:12:35.621 I/MonoDroid(29197): 
08-28 17:12:35.621 I/MonoDroid(29197):  --> (Inner exception 0) Microsoft.OData.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.InvalidOperationException: An error occurred while processing this request. ---> System.InvalidCastException: Cannot cast from source type to destination type.
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.AsyncEndRead (System.Threading.Tasks.Task task, System.Object asyncState) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.BaseAsyncResult.EndExecute[QueryResult] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.DataServiceRequest.EndExecute[Nitzrech] (System.Object source, Microsoft.OData.Client.DataServiceContext context, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
An unhandled exception occured.

08-28 17:12:36.661 E/mono    (29197): 
08-28 17:12:36.661 E/mono    (29197): Unhandled Exception:
08-28 17:12:36.661 E/mono    (29197): System.AggregateException: One or more errors occured ---> Microsoft.OData.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.InvalidOperationException: An error occurred while processing this request. ---> System.InvalidCastException: Cannot cast from source type to destination type.
08-28 17:12:36.661 E/mono    (29197):   at Microsoft.OData.Client.QueryResult.AsyncEndRead (System.Threading.Tasks.Task task, System.Object asyncState) [0x00000] in <filename unknown>:0 
08-28 17:12:36.661 E/mono    (29197):   --- End of inner exception stack trace ---
08-28 17:12:36.661 E/mono    (29197):   at Microsoft.OData.Client.BaseAsyncResult.EndExecute[QueryResult] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:36.661 E/mono    (29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:36.661 E/mono    (29197):   --- End of inner exception stack trace ---
08-28 17:12:36.661 E/mono    (29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object sourc
08-28 17:12:36.671 E/mono-rt (29197): [ERROR] FATAL UNHANDLED EXCEPTION: System.AggregateException: One or more errors occured ---> Microsoft.OData.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.InvalidOperationException: An error occurred while processing this request. ---> System.InvalidCastException: Cannot cast from source type to destination type.
08-28 17:12:36.671 E/mono-rt (29197):   at Microsoft.OData.Client.QueryResult.AsyncEndRead (System.Threading.Tasks.Task task, System.Object asyncState) [0x00000] in <filename unknown>:0 
08-28 17:12:36.671 E/mono-rt (29197):   --- End of inner exception stack trace ---
08-28 17:12:36.671 E/mono-rt (29197):   at Microsoft.OData.Client.BaseAsyncResult.EndExecute[QueryResult] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:36.671 E/mono-rt (29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:36.671 E/mono-rt (29197):   --- End of inner exception stack trace ---
08-28 17:12:36.671 E/mono-rt (29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System
In mgmain JNI_OnLoad
The program 'Mono' has exited with code 0 (0x0).

Кто-нибудь там с предложением, пожалуйста?

С Уважением,

Авраам

1 ответ

Я не верю, что этот пакет поддерживает Xamarin - со страницы nuget:

Предназначен для.NET Core 5 и.NET Portable Lib с поддержкой.NET 4.0, SL 5.0, Win Phone 8, Win Phone 8.1 и Win 8.

Я бы посоветовал подать проблему с разработчиком библиотеки для получения дополнительной информации об этом, так как это может быть ошибкой, если она поддерживает Xamarin:

https://github.com/OData/odata.net/issues

В хранилище компонентов есть следующий компонент, который должен работать, хотя с момента его обновления прошло некоторое время:

https://components.xamarin.com/view/simple.odata.client

Другие вопросы по тегам