我正在开发一款Windows Mobile 6.5(.NET Compact Framework 3.5)应用程序,该应用程序将设备PIM数据与谷歌日历和谷歌任务服务同步。我显然想利用Google API来实现.NET(http://code.google.com/p/google-api-dotnet-client/),但显然它只是为.NET Framework的标准桌面版本设计的。
试图编译引用官方API.dll的CF3.5项目失败,消息如下"类型"System.Uri"是在未被引用的程序集中定义的。您必须添加对程序集"System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"的引用。这当然是不能在CF项目中引用的.NET Framework 2.0.dll。
当我下载API源代码并尝试在CF3.5下自己构建它们时,由于引用了仅包含在标准.NET框架中的几个功能,它再次失败。
所以我的问题是,我在这里有什么选择?到目前为止,有没有为Compact Framework设计的Google API版本让我忽略了?如果没有,我是否应该尝试通过删除冲突的功能来修改API,希望我的应用程序功能不需要这些功能?我是否应该放弃预先制作的API,只将其用于学习目的来构建自己的API?或者你有什么想法吗?
非常感谢任何意见。
致问候,
Charles
让我回答这个问题,以供其他人将来参考。
- 目前显然还没有CF版本的Google API客户端库。我彻底搜索了很长一段时间,但没有结果
- 尝试自己修改客户端库并将其适应Compact Framework功能是不可能的(至少在合理的时间范围内是不可能)。事实证明,有太多(通常是相互关联的)功能需要删除或大量修改(或者重写)
- 因此,正确的答案是第三个选项-创建您自己的库来访问API,使用文档齐全的REST访问参考(如果是位于此处的Calendar APIhttps://developers.google.com/google-apps/calendar/v3/reference/)。结果比我预期的要复杂得多,时间要求也低得多