2016-07-29 30 views
3

我在iOS 9.3的Xamarin.Forms 2.0应用程序中使用Breeze 0.6的C#客户端。当我使用WHERE子句进行查询时,该应用程序将在iPhone模拟器中工作,但在实际设备上失败。设备上的故障是与消息的异常:Breeze C#客户端在iOS设备上使用WHERE子句时失败

关于“System.Data.Services.Client.TypeSystem” 引发了异常的类型初始值。

如果我删除where子句,应用程序不再引发异常,但我需要能够使用WHERE子句正确限制从服务器发回的数据量。

这是什么原因导致此错误?

+1

您使用的是链接器?这可能是问题..尝试禁用链接器并再次运行该应用程序的where子句完好无损。 – hankide

+0

我开始在这里发表评论,但随后将其下移,以便将其标记为答案。一个问题,但。如果我需要使用外部库,链接器是否需要?我有一个来自第三方的基于外部ObjC的库,我最终也希望将它加入。我是否需要链接器? – Brian

回答

1

呜呼!这有帮助。谢谢@hankide。 “链接器行为”有三个选项。它们是“不链接”,“仅链接框架SDK”和“全部链接”。默认为“仅限链接框架SDK”。我将它改为“不要链接”,现在它运行在我的iPhone上。

编辑:

只是一个供参考的人看到这一点。当你关闭链接器时,你需要做两次。一次用于Debug构建配置,另一次用于发布构建配置。我很沮丧了一段时间,因为我无法让发布版本工作。设置了Xamarin Insights之后,我看到了与之前看到的相同的链接器错误,并发现在发布版本中有一个类似但独立的链接器配置。