1

我试图在我的 Windows CE/Compact Framework 3.5 应用程序中加入一点 RestSharp。

这个简约的代码:

RestClient client = new RestClient("http://192.164.144.42:72921/");
RestRequest request = new RestRequest("api/vendorItems/", Method.GET);
RestResponse response = client.Execute(request) as RestResponse;
string content = response.Content; // raw content as string

...首先导致了一个问题,因为我不得不改变它:

RestResponse response = client.Execute(request);

...对此:

RestResponse response = client.Execute(request) as RestResponse;

...但尽管取得了小小的胜利,但这条线仍然无法编译:

RestRequest request = new RestRequest("api/vendorItems/", Method.GET);

...告诉我,“ 'System.Uri' 类型是在未引用的程序集中定义的。您必须添加对程序集 'System, Version=2.0.0.0 的引用

我确实引用了系统,但它是版本 3.5.0.0(运行时版本 == v2.0.50727)

在不降级我的系统引用的情况下,我能做些什么来编译该行(这无疑会导致编译器对其他代码行大喊大叫)?

更新

在 VS 2008 中,我收到了很多来自编译器的错误消息,他们对新的语言结构(例如异步事物)摸不着头脑;在 VS 2013 中,我得到:

在此处输入图像描述

...然后:

在此处输入图像描述

在 VS 2013 RC 中它说:“(不兼容)[crlf+Tab] 这个项目与当前版本的 Visual Studio 不兼容”

4

1 回答 1

1

最新版本的 RestSharp 使用 SimpleJson 进行序列化和反序列化。SimpleJson 没有 CF 版本,但它确实有 FFX 2.0 版本,因此它非常接近 CF 兼容。您必须替换一些 TryParse 调用,但总的来说还不错。

我的建议是:

  1. 从 GitHub拉取RestSharp 源代码
  2. 创建一个面向 CF 3.5 的全新智能设备项目,名为 RestSharpCF 或其他
  3. 将 RestSharp 根文件夹中的现有代码文件添加到您的项目中
  4. 编译
  5. 修复编译器错误
  6. 迭代 4 和 5 直到它真正构建干净
  7. 部署
  8. 执行拉取请求以将您的更改恢复到流中。预先警告,您必须将请求拉回 SimpleJson,而不是 RestSharp。

我可能会在下个月左右自己完成这些步骤(实际上我已经完成了 #7,但我也有其他更改和添加)但最好不要等我找时间这个。在执行拉取请求之前,我必须完成使用 RestSharp 的 ORM 实现,以确保我拥有所有需要的更改。

于 2013-10-10T22:59:06.623 回答