Cod*_*aos 137 c# .net-4.0 async-await c#-5.0 async-ctp
我现在开始创建一个可以从C#5的async-await功能中获益的应用程序.但我不确定使用哪个版本的VS和async运行时.
看看操作系统受欢迎程度图表,我需要再支持Windows XP三年左右.看起来.net 4.5仅在较新版本的Windows上运行,因此我需要以.net 4.0为目标.开发机器使用Windows 7,因此使用较新版本的VS不是问题.
现在我需要先选择一个编译器来执行此操作:
哪一个代码生成错误较少?看看Jon Skeet的博客,VS2012 Preview使用的是永不代码生成器而不是CTP.
更重要的是使用哪个运行时?
VS2012是否包含可再发行的异步运行时与.net 4一起使用?
通过引用AsyncCTP运行时,我设法通过预览编译代码.但由于CTP具有奇怪的许可条件,这看起来不是一个好的长期解决方案.
或者我应该使用第三方实施?也许单声道有一个?
为了分发库,我更喜欢将dll放在与应用程序相同的目录中,而不是某种安装程序.
如果我的二进制文件在单声道+ Linux/MacOS上没有变化的情况下工作,我也会喜欢它.因此运行时应该与内置的任何单声道(可能是2.12)兼容,或者允许在非Windows操作系统上使用.
Ome*_*Mor 106
Microsoft 通过Nuget发布了Async Targeting Pack(Microsoft.Bcl.Async)作为AsyncCTP的替代品.
您可以在此处阅读更多相关信息:http://blogs.msdn.com/b/bclteam/archive/2013/04/17/microsoft-bcl-async-is-now-stable.aspx.
你可以在这里阅读以前的版本:http://blogs.msdn.com/b/lucian/archive/2012/04/24/async-targeting-pack.aspx.
由于这个包是官方支持的,我现在相信针对XP + async的最佳选择是使用Visual Studio 2012 + C#5 + Async Targeting Pack.
如果你觉得需要以.NET 3.5为目标,你仍然可以使用(我的)AsyncBridge for .NET 3.5.
| 归档时间: |
|
| 查看次数: |
64668 次 |
| 最近记录: |