2014-08-28 113 views
7

有谁知道是否以及如何微软OData客户端应该在Xamarin Droid上工作?微软OData客户端Xamarin不工作

这是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). 

任何人在那里有一个建议吗?

问候,

Avrohom

+0

您使用的是哪个版本?这似乎是一个块金包装问题,它已在ODataLib 6.5.0中修复。 – Karata 2015-02-26 06:56:14

回答

0

我不相信这包支持Xamarin - 从nuget page

面向.NET核心5,和.NET可移植库与支持。 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