我必须为 WinCE 5.0 开发一个应用程序,它与常规 PC 应用程序通信/同步数据,该应用程序提供我可以与我的移动(工业)设备通信的 Web 服务。
由于很明显会导致代码难以在移动设备端维护(检查连接→完成时:检查网络服务可用性→完成时:检查移动设备是否有资格同步→完成后开始交换数据)我会喜欢使用同步编程方式await
s.
我找到了一些代码片段 https://gist.github.com/dgrunwald/1961087由 Daniel Grunwald 编写,这是编译器异步/等待功能所需内容的最小实现。和...一起.Net 3.5 的任务并行库 http://compactframeworktpl.codeplex.com/(我必须稍微改变一下,因为某些调用的方法不存在所需的签名)例如实现任务类型,它看起来很有希望。
到目前为止,解决方案尚未构建,因为我缺乏实施TaskCompletionSource
。我用 ILSpy 反编译了最近的 mscorlib,但代码不可用 - 使用的类型太多,而 CF 中不存在。
此时我想知道这个项目是否一定会失败,因为我永远不会说服 VS 2008(我必须使用它来定位智能设备)使用 C# 5 编译器(也许有解决方法?),或者CF 缺少 TaskCompletionSource 的关键类型(我可能需要它,因为我想让事件可等待),或者 TPL3.5 + Grunwald 的代码片段 + TCS 实现将构建但从未实际工作。
有经验的人可以评估一下我的意图吗?很想听听您的评论、想法和替代方法。谢谢。
Update 亚伦·斯坦巴克的帖子 https://stackoverflow.com/a/16751975/249988表明应该可以使用 VS2012 构建 CF 3.5。这至少应该解决编译器问题。
您可以按照以下说明使用 Visual Studio 2015 编译为 Compact Framework 3.5:
现在您可以创建一个.NET Core 类库Visual Studio 2015 上的项目和目标 'net35-cf' 框架。
要使用 async/await 你可以使用NET标准.Windows CE包裹。
示例项目可以在以下位置找到:https://github.com/WindowsCE/System.Collections.Immutable https://github.com/WindowsCE/System.Collections.Immutable
免责声明:我是上述包和项目的作者。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)