.net 4.0 使用VS2010异步CTP的主要风险和好处是什么?

.net 4.0 使用VS2010异步CTP的主要风险和好处是什么?,.net-4.0,windows-xp,async-await,c#-5.0,async-ctp,.net 4.0,Windows Xp,Async Await,C# 5.0,Async Ctp,我想在WindowsXPSP3上使用VS2010SP1进行开发和测试,主要是因为我的客户机(以及我)都在WindowsXPSP3上。盖尔是MSDN论坛上的相关讨论: 尽管如此,报告告诉我们: 而异步CTP许可证并不阻止您自己使用它 生产环境中存在风险,我们建议您不要这样做。目标 此CTP仅用于收集有关我们预期异步设计的反馈。我们 未设计或构建用于生产环境的产品,以及 未按照生产使用要求对其进行彻底测试 我们相信它有太多的缺陷,不适合使用 在生产环境中。我们非常感谢您对本项目的反馈 异步CTP,但

我想在WindowsXPSP3上使用VS2010SP1进行开发和测试,主要是因为我的客户机(以及我)都在WindowsXPSP3上。盖尔是MSDN论坛上的相关讨论:

尽管如此,报告告诉我们:

而异步CTP许可证并不阻止您自己使用它 生产环境中存在风险,我们建议您不要这样做。目标 此CTP仅用于收集有关我们预期异步设计的反馈。我们 未设计或构建用于生产环境的产品,以及 未按照生产使用要求对其进行彻底测试 我们相信它有太多的缺陷,不适合使用 在生产环境中。我们非常感谢您对本项目的反馈 异步CTP,但我们不打算对异步CTP进行任何修复 本身:我们所做的修复只会出现在最终支持的版本中 发布产品

这些缺陷和错误在多大程度上是被抛弃的?我应该考虑哪些可能的其他因素来迫使我改变我的决定

询问的主要原因是:

  • 我对C#/.NET 4.5 VS2012主题没有太多了解(因为坚持使用Windows XP SP3、.NET 4.0和VS2010),我需要减少遇到关键问题的时间
  • 我以前从未遇到过这样的情况:我可能应该遵循bug修复列表(而不是根据需要针对特定的孤立问题)
    对于这个案子,我真的需要现在吗
主要问题:
在VS2010、Windows XP SP3的.NET/C#4.0以及那些可以超越使用async/await的好处的程序中,不受支持的缺陷不容易解决的可能性有哪些

asnwer对@DanPuzey的评论: 该应用程序基于TPL,WPF处理来自internet(证券交易所)的异步数据流。我以前从来没有想过会留下不受支持的文档(样本)、缺陷和bug。我可能无法询问它们,因为MSFT支持和其他人都无法复制它们。我想评估一下使用不受支持的扩展的风险和好处

主要的差异、缺陷、缺陷和风险是否无限,是否无法列举?到底是什么

让我引述:

“包括用于生产的新EULA。注意-此许可证不适用于 鼓励您在生产中使用CTP 代码。CTP仍然不受支持,使用风险自负 技术预览。但是,我们收到了来自 开发人员将CTP用于生产代码,因此更改了 许可证,允许这样做“

@CodesInChaos”评论的答案是:
这不是我在问题的开头提到的选项,我在前面的讨论中提到了这一点。无法从VS2012或具有.NET 4.5的计算机上开发和测试.NET 4.0应用程序。无法在Windows XP上安装VS2012或.NET4.5。我的经验(尝试安装其他供应商的应用程序)是,您提到的方法不会产生运行在Windows XP上的应用程序

I second@CodesInChaos'建议,您使用VS2012开发。我在Windows7上使用VS2012开发运行在WindowsXP上的.NET4应用程序,效果很好。唯一需要注意的是,您不能在.NET4上进行调试(您实际上是在.NET4.5运行时上运行的),但对于99%的情况,这并不重要

我确实在生产中使用了异步CTP;我认为CTP的稳定性令人惊讶。也就是说,有一些已知的bug。最值得注意的是
await
表达式的操作顺序。因此,请遵循每个语句只包含一个
await
的原则,并将
await
表达式作为顶级表达式,例如:

var result = await ...;
我相信Jon Skeet在他的研究中还发现了一些更隐晦的虫子

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

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


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

我不清楚您在问什么。你似乎说你以前从未需要阅读文档,并且问你是否应该阅读。您是否希望有人建议预发布产品中的哪些bug可能对您很重要,在一个十年前的操作系统中处理一个未知的项目和未知的需求?我不认为这是一个你会在这里得到答案的问题…阅读这个问题的人如何理解你所感知到的好处或能够判断风险?这样的人必须了解整个应用程序的代码库,以及使用异步的程度。事实上,许可证明确建议您不要在生产环境中使用CTP,这是您的问题中我唯一可以根据的观点。(因此,我建议,如果您坚持使用XP/VS2010,那么您也将无法获得
async
支持。)我更喜欢将VS2012与异步目标包一起使用。这需要在较新版本的windows上开发,但用户可以使用XP。请参阅我的相关问题,如果您需要支持xp用户不使用vs2012,不安装.net 4.5,如果您不能使用xp进行开发和测试,请不要麻烦,您将无法找到最终的错误,您可以使用vs2010中的所有异步支持库,甚至blc async,请阅读我之前的答案,不需要KB和.NET4.5。不要让Microsoft仅仅因为不想对.net 4进行愚蠢的更新而强迫您进行更新。@Programista,谢谢。张贴相同的