在Compact Framework 3.5上使用async / await的任何方法?

时间:2012-02-18 01:39:51

标签: c# compact-framework async-ctp

我很好奇是否有任何方法可以在Compact Framework代码中使用C#async / await CPS转换功能。我希望需要提供/重新实现一定数量的库代码才能实现这一点;如果是这样,我应该在哪里寻找有关需要提供哪些类型/成员的信息?

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

2 个答案:

答案 0 :(得分:1)

您可以尝试使用Jon Skeet的eduasync系列库,但我不确定Async CTP编译器更新是否适用于CF开发。最后我检查过,VS2010不支持CF,但Async CTP需要VS2010 SP1。

P.S。 CF很快就要出局了,我很害怕。这是未来“设备”编程的半Silverlight。

答案 1 :(得分:1)

您可以按照以下说明使用Visual Studio 2015编译到Compact Framework 3.5:

  • 安装' .NET Compact Framework 3.5 Redistributable';
  • 从' 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 ';
  • 的目录
  • 创建名为' FrameworkList.xml 的文件' at' RedistList '目录;
  • 将以下内容设置为创建的文件:

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

现在,您可以在Visual Studio 2015上创建 .NET Core类库项目,并定位&#39; net35-cf &#39;框架。

要使用async / await,您可以使用 System.Threading.Tasks.WindowsCE 包。

可在以下位置找到示例项目:https://github.com/WindowsCE/System.Collections.Concurrent/tree/08669ca5b45cc5c74c8c225a633828f9e26b5276

免责声明:我是上述套餐和项目的作者。