2012-02-18 94 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