为了账号安全,请及时绑定邮箱和手机立即绑定

使用异步等待.NET 4

使用异步等待.NET 4

牧羊人nacy 2019-07-17 09:50:40
使用异步等待.NET 4我目前正开始创建一个应用程序,它将从C#5的异步等待功能中获益很多。但我不确定要使用哪个版本的VS和异步运行时。看看操作系统的流行图表,我还需要三年左右的时间来支持WindowsXP。看起来,.NET 4.5只在较新版本的Windows上运行,因此我需要针对.NET 4.0。开发机器使用Windows 7,因此使用较新版本的VS并不是问题。现在我需要首先选择一个编译器来完成这个任务:VS 2010与AsyncCTPVS 2012预览(以及最后一次到达),将目标设置为.NET 4.0Mono(看起来2.12有异步等待,我更喜欢/我习惯于VS而不是作为IDE的MonoDe信封)哪一个有较少的代码生成错误?望着乔恩·斯基特的博客VS 2012预览使用的代码生成器从来没有比CTP。更重要的是,使用哪个运行时?VS 2012是否包含用于.NET 4的可再发行异步运行时?通过引用AsyncCTP运行时,我成功地编译了带有预览的代码。但由于CTP有奇怪的许可条件,这看起来并不是一个好的长期解决方案。还是应该使用第三方实现?也许Mono有一个?为了分发库,我更喜欢将DLL放在与应用程序相同的目录中,而不是某种安装程序。我也希望我的二进制文件能够在Mono+Linux/MacOS上工作,而不做任何更改。因此,运行时应该兼容任何Mono(可能是2.12)内置的内容,或者允许在非Windows操作系统上使用。
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

如果您愿意考虑其他.NET语言,F#可以解决您的问题。它已经使用异步{}计算表达式多年了,甚至与.NET 2.0也是向后兼容的。最低要求是WindowsXPSP 3。运行时可以下载。这里.


查看完整回答
反对 回复 2019-07-17
?
SMILET

TA贡献1796条经验 获得超4个赞

如果您想要能够分发您的软件,我认为Mono解决方案实际上是您现在唯一的选择。您还说希望在Linux和OSX上运行Mono的最终结果。首先,针对Mono似乎是一个自然的解决方案。

下一个问题是IDE。MonoDe信封显然工作得很好,但您说您更喜欢VisualStudio。

格雷格·赫尔曼创建了一个配置文件对VisualStudio中的Mono2.8进行编码。如果您跟踪他,他可能会为您指出在VisualStudio中针对Mono2.11/2.12开发的正确方向。

当然,也有用于VisualStudio的Mono工具这是一种商业产品。我想它仍然是由扎马林.

您也可以在.NET上从Mono上运行所需的4.5配置文件程序集,但我没有尝试过。4.5配置文件是一个严格的4.0 API的超级集。也许试一试再报告。

编辑:看起来您现在可以在生产中使用VisualStudio异步CTP了

下面是上面写的下载页面:

包括一个生产使用的新的EULA。注意-此许可证不构成鼓励您使用CTP作为您的生产代码。CTP仍然是一个不受支持和使用在你自己的风险技术预览.但是,我们收到了开发人员的许多请求,要求将CTP用于生产代码,因此我们更改了许可证以允许使用CTP。


查看完整回答
反对 回复 2019-07-17
  • 3 回答
  • 0 关注
  • 576 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信