我有以下代码,我期望从Simple.oData.Client
服务获得oData(Northwind
)。一旦用户点击Click按钮,它就会触发oData Call。它在控制台上打印出before await
消息;但是,它不会打印after await
消息。这意味着在try-catch
块中的等待操作中有一些不正常的事情。我想知道如何处理这个问题。
我正在使用Xamarin.iOS平台。
async partial void Click_TouchUpInside (UIButton sender)
{
var client= new ODataClient("http://services.odata.org/Northwind/Northwind.svc/");
Console.WriteLine("before await");
try {
var packages = await client
.For("Customers").
FindEntriesAsync();
}
catch(AggregateException e) {
Console.WriteLine(e);
Console.WriteLine(e.InnerException);
}
Console.WriteLine("after await");
}
以下是详细错误消息:
System.AggregateException:发生了一个或多个错误---> System.AggregateException:发生了一个或多个错误---> System.InvalidOperationException:无法加载OData适配器 assembly Simple.OData.Client.V3.Adapter ---> System.IO.FileNotFoundException:无法加载文件或程序集 ' Simple.OData.Client.V3.Adapter'或其中一个依赖项。该 系统找不到指定的文件。
答案 0 :(得分:7)
需要知道如何解决此问题的人,以下是Simple.OData.Client
github的源代码所有者的详细说明。
https://github.com/object/Simple.OData.Client/issues/53
我在Simple.OData.Client.V3Adapter.Reference()
中添加了一行代码Main.cs
,它就像一个魅力。
static void Main (string[] args)
{
Simple.OData.Client.V3Adapter.Reference();
UIApplication.Main (args, null, "AppDelegate");
}