2012-02-18 98 views
1

我很好奇是否有任何方式使用C#async/await CPS转换功能与Compact Framework代码。我期望一定数量的库代码需要被提供/重新实现以实现这一点;如果是的话,我应该在哪里寻找哪些类型/成员需要提供的信息?在Compact Framework 3.5上使用异步/等待的任何方法?

(我不是在寻找一个完整的任务异步支持库这里,刚好够一个骨架,以能够使用的语言功能)。

回答

1

您可以尝试乔恩斯基特的eduasync系列库边,但我不确定Async CTP编译器更新是否适用于CF开发。最后我检查了一下,VS2010不支持CF,但是Async CTP需要VS2010 SP1。

P.S.恐怕,CF正在出路。这对于未来的“设备”编程来说都是半Silverlight。

+0

正确:CF仍然不支持VS2010。 – jp2code 2012-02-18 21:56:42

+0

严峻的现实是我被锁定了 - 这是一个不可协商的要求,以支持CE 5.0 Webpad/ARMv4i/128MB RAM/2GB SD的现有客户设备。 – 2012-02-21 22:51:30

1

您可以使用Visual Studio 2015年编译,以Compact Framework的3.5通过以下说明:

  • 安装 '.NET Compact Framework的3.5可再发行';
  • 从'复制文件C:\ Program Files(x86)\ Microsoft.NET \ SDK \ CompactFramework \ v3.5 \ WindowsCE';
  • 将文件粘贴在'C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v3.5 \ Profile \ CompactFramework'目录;
  • 创建一个名为'RedistList'的目录;
  • 在'RedistList'目录下创建一个名为'FrameworkList.xml'的文件;
  • 设置的follwing内容的文件中创建:

    <?xml version="1.0" encoding="utf-8"?> 
    <FileList Redist="Net35-CF" Name=".NET Compact Framework 3.5"> 
    </FileList> 
    

现在,您可以创建的Visual Studio 2015和目标 'net35-CF' 框架.NET核心类库项目。

要使用异步/等待您可以使用System.Threading.Tasks.WindowsCE包。 https://github.com/WindowsCE/System.Collections.Concurrent/tree/08669ca5b45cc5c74c8c225a633828f9e26b5276

免责声明:

一个例子项目可以在这里找到我的包和上述项目的作者。

+0

非常好奇!你能告诉我这个代码是否可以在设备上进行调试吗? – 2017-07-20 10:33:34

+1

如果您在VS2008上创建的项目中添加对VS2015上编译的库的引用,则可以。 – Skarllot 2017-07-26 14:05:57