servicestack,xamarin,mvvmcross,portable-class-library,Xamarin.ios,servicestack,Xamarin,Mvvmcross,Portable Class Library" /> servicestack,xamarin,mvvmcross,portable-class-library,Xamarin.ios,servicestack,Xamarin,Mvvmcross,Portable Class Library" />

Xamarin.ios 使用PCL构建Servicestack monotouch DLL

Xamarin.ios 使用PCL构建Servicestack monotouch DLL,xamarin.ios,servicestack,xamarin,mvvmcross,portable-class-library,Xamarin.ios,servicestack,Xamarin,Mvvmcross,Portable Class Library,我正在将解决方案迁移到MVVMCross,但ServiceStack客户端库很难使用 如何将ServiceStack客户端DLL构建到PCL库中,以便在Xamarin Studio中使用,从而实现多平台 这里没有什么值得注意的,除非我错过了它:您可以克隆ServiceStack项目,创建PCL项目,链接文件,构建,然后查看缺少的内容。我确信没有PCL是有原因的,但是如果你碰巧启动了PCL,请提出拉取请求 由于您使用的是MvvmCross,另一个选项是为API制作插件,然后在特定于平台的项目中引用

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

如何将ServiceStack客户端DLL构建到PCL库中,以便在Xamarin Studio中使用,从而实现多平台


这里没有什么值得注意的,除非我错过了它:

您可以克隆ServiceStack项目,创建PCL项目,链接文件,构建,然后查看缺少的内容。我确信没有PCL是有原因的,但是如果你碰巧启动了PCL,请提出拉取请求

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

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


编辑:第四种选择是使用新的HttpClient。一个来自Xamarin,另一个来自MS(如果你的目标是Win)。外接程序,您将能够将大部分代码保存在便携式计算机中。我之所以这么说,是因为您可能需要抽象出HttpClient。我已经使用过这种方法好几次了,效果非常好。有很多PortableRest添加了文件上传。

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


进一步的一步是使用mvvmcross-dependency注入来实例化您在另一个库中创建的类。这样,即使您正在实例化非PCL代码,这也无关紧要,这一切都会正常工作。不过,您必须在单独的PCL库中声明所有接口。

非常好的建议,Derek。第一个似乎有点乏味,但我想我可能不得不在某个时候,但我在Xamarin工作室编码,没有个人完整的VS许可证,为这个项目,所以可能是耗时和不必要的参与。第二个是可以实现的,但我仍然觉得重复的逻辑有点脏。根据波斯特的说法,第三个选项还需要定制特定于平台的实现。但是如果有人真的实现了Servicestack的PCL库,那将是最好的!!我想我记得黛米斯说过他不会为党卫军实施PCL,但那是很久以前的事了。增加了第四个选项。