我们在.net SDK中使用了一个自定义JSON WCF绑定(支持类似于WebHttpBinding的JSON)。我们的SDK是支持.net 4.5,Win8,IOS,Android配置文件的PCL - 它可以在我们的Windows桌面应用程序和Android中运行,没有任何问题。我们刚刚进入MonoTouch,并一直在追查为什么我们的自定义WCF绑定无法正常工作。我们能够在实现System.ServiceModel.Description.IOperationBehavior接口的WCF类中识别出,在尝试处理 System.ServiceModel.Dispatcher.ClientOperation 时,MonoTouch失败。
确切的错误是单声道“无法加载(我们的自定义类型)的签名因未知原因而失败。”
当我将.csproj链接器选项配置为“仅链接SDK程序集”并尝试编译时,我收到错误:
Xamarin.iOS 8.6.1 Business Edition using framework: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk
MTOUCHTASK: error MT2002: Failed to resolve "System.ServiceModel.Dispatcher.ClientOperation" reference from "System.ServiceModel.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Task "MTouchTask" execution --
寻找任何类型的解决方法,因为我们需要客户端操作来配置通过ApplyClientBehavior方法传入的“Formatter”属性。
非常感谢任何协助。
答案 0 :(得分:0)
我向Xamarin提交了这个问题,他们确认我的报告是Mono 3.1中的一个错误 - 他们已经在Mono 4.0中解决了这个问题,但在撰写本文时尚未解决。希望这有助于其他可能花费数小时试图解决问题的人。
问题是PCL库ClientOperation不起作用,但在MonoTouch下,它很好。 Xamarin开了一个私人bug,所以我没有参考号。