使用PCL构建的Servicestack monotouch DLL

时间:2013-11-03 10:17:41

标签: xamarin.ios servicestack xamarin mvvmcross portable-class-library

我正在将解决方案迁移到MVVMCross,但ServiceStack客户端库难以使用。

如何将ServiceStack客户端DLL构建到PCL库中以便在Xamarin Studio中使用,这样它就是多平台?

除非我错过了,否则没有什么值得注意的:https://github.com/ServiceStack

2 个答案:

答案 0 :(得分:3)

您可以克隆ServiceStack项目,制作PCL项目,链接文件,构建并查看缺少的内容。我确定没有PCL已经有一个原因,但如果你碰巧了,请提出拉动请求。

由于您正在使用MvvmCross,另一个选择是为您的API创建一个插件,然后在特定于平台的项目中引用ServiceStack库。

您还可以使用MvvmCross RestClient并对ServiceStack客户端进行相同的调用。

编辑:第四种方法是使用新的HttpClient。一个来自Xamarin,另一个来自MS(如果你的目标是Win)。添加PortableRest,您就可以将大部分代码保存在便携式设备中。我说的最多,因为你可能需要抽象出HttpClient。我已经使用过这种方法几次,效果很好。有一个fork的PortableRest添加了文件上传。

答案 1 :(得分:1)

我遇到了一些与.net相关的问题(例如.net 4.5中缺少Timer类)。所以我刚刚创建了一个不同的库,然后为timer类创建了一个包装器。这是一种方法。将您的http代码放在一个单独的库中可以使项目更容易维护。

还可以使用mvvmcross依赖注入来实例化您在其他库中创建的类。这样,即使您实例化非PCL代码并不重要,但事情才有效。您必须在单独的PCL库中声明所有接口。