使用VS2010异步CTP的主要风险与优势有哪些?

时间:2013-04-08 07:15:59

标签: .net-4.0 windows-xp async-await c#-5.0 async-ctp

我想在Windows XP SP3上使用Visual Studio Async CTP (Version 3)在VS2010 SP1中进行开发和测试,主要是因为我的客户端(以及我)在Windows XP SP3上。 Ghere在MSDN论坛上进行了相关讨论:If I target .net 4.0 but run on a machine that has .net 4.5 will .net 4.0 WPF bugs still be there?

虽然,NOTE ON "AS IS" LICENSE告诉:

  

虽然Async CTP许可证不会阻止您自行使用它   在生产环境中存在风险,我们建议您不要。的目标   此CTP仅用于收集有关我们的预期异步设计的反馈。我们   没有设计或构建它以用于生产环境,和   没有像在生产中使用那样彻底地测试它   环境,我们认为它有太多的缺陷,不适合使用   在生产环境中。我们非常感谢有关的反馈意见   异步CTP,但我们不打算对Async CTP进行任何修复   本身:我们所做的修复只会出现在最终支持的版本中   发布的产品

Visual Studio Async CTP (Version 3)中被遗弃的那些缺陷和错误有多严重?我应该考虑哪些可能迫使我改变决定的其他考虑因素?

提出要求的主要原因是:

  • 我没有关注C#/。NET 4.5 VS2012主题(由于坚持使用Windows XP SP3,.NET 4.0和VS2010),我需要减少碰到关键问题的时间;
  • 我以前从未遇到过这样的情况:我应该按照错误修复列表(而不是根据需要进行特定的隔离问题)
    在这种情况下,我现在真的需要吗?

主要问题:
在VS2010,Windows XP SP3中的.NET / C#4.0中,不支持的缺陷不会有简单的解决方法,以及那些可以超过使用async / await

的好处的那些/ a / /

@ DanPuzey的评论:

该应用程序基于TPL,WPF处理异步来自互联网(股票交易所)的数据流。我以前从未需要关心我会留下不受支持的文档(示例),缺陷和错误。我可能无法询问它们,因为它们不会被MSFT支持以及其他人重现。我想估计使用不受支持的扩展程序的风险与收益

主要的差异,缺陷,错误和风险是否无限且无法枚举?什么?

让我引用download page

  

“包括用于生产的新EULA。注意 - 此许可证不包括   鼓励您使用CTP进行生产   码。 CTP仍然是一种无法支持和自行使用的风险   技术预览。但是,我们收到了很多请求   开发人员使用CTP进行生产代码,因此已经改变了   许可证允许“

@CodesInChaos'答案的答案:

这不是我在问题的开头提到的参考prev enter link description here讨论的选项。无法从VS2012或具有.NET 4.5的计算机开发和测试.NET 4.0应用程序。在Windows XP上安装VS2012或.NET4.5是不可能的。我的经验(尝试安装来自其他供应商的应用程序)是您提到的方法不会生成在 Windows XP上运行的应用程序

1 个答案:

答案 0 :(得分:2)

我的第二个@CodesInChaos建议您使用VS2012进行开发。我在Windows 7上使用VS2012开发在Windows XP上运行的.NET 4应用程序,它运行正常。唯一需要注意的是,您无法在.NET 4上进行调试(实际上是在.NET 4.5运行时上运行),但99%的情况并不重要。

我确实在生产中使用了Async CTP;我认为它对CTP来说非常稳定。也就是说,有一些已知的错误。最值得注意的是围绕await表达式的操作顺序。因此,请遵循每个语句只有一个await的指导原则,并使await表达式成为您的顶级表达式,例如:

var result = await ...;

我相信Jon Skeet在eduasync series期间也发现了一些更加模糊的错误。

没有已修复或仍然存在的异步CTP错误列表(在Microsoft.Bcl.Async中)。微软内部可能有一些列表,但其他人都不知道。

  

该应用程序基于TPL,WPF处理异步来自互联网(证券交易所)的数据流。

在这种情况下,请考虑Rx。 .NET 4完全支持Rx,但我相信它确实需要VS2012进行开发。