.net-4.0 - 使用 VS2010 Async CTP 的主要风险与好处是什么?

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

我想使用Visual Studio Async CTP (Version 3)在 Windows XP SP3 上的 VS2010 SP1 中进行开发和测试主要是因为我的客户(以及我)在 Windows XP SP3 上。这里有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告诉:

While the Async CTP license does not prevent you using it at your own risk in production environments, we advise you not to. The goal of this CTP is solely to gather feedback on our intended async design. We did not design or build it to be used in production environments, and did not test it as thoroughly as is needed for use in production environments, and we believe it has too many flaws to be fit for use in production environments. We gratefully appreciate feedback on the Async CTP, but we do not plan to make any fixes to the Async CTP itself: the fixes we make will only appear in the eventual supported released product

这些缺陷和错误有多严重,在 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 的好处的缺陷/可能性

对 @DanPuzey 评论的回答:

该应用程序基于 TPL、WPF,处理来自互联网(证券交易所)的异步数据流。我以前从来不需要担心我会留下不受支持的文档(样本)、缺陷和错误。我可能无法询问它们,因为 MSFT 支持以及其他人都无法重现它们。我想评估使用不受支持的扩展的风险与 yield

主要差异、缺陷、错误和风险是否无穷无尽且无法枚举?到底有没有?

让我引用 download page :

"Includes a new EULA for production use. Note - This license does not constitute encouragement for you to use the CTP for your production code. The CTP remains an unsupported and use-at-your-own-risk Technology Preview. However, we’ve received many requests from developers to use the CTP for production code, and so have changed the license to allow that"

@CodesInChaos 评论的答案:

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

最佳答案

我赞同 @CodesInChaos 建议您使用 VS2012 进行开发。我在 Windows 7 上使用 VS2012 开发在 Windows XP 上运行的 .NET 4 应用程序,并且运行良好。唯一需要注意的是,您无法在 .NET 4 上进行调试(您实际上在 .NET 4.5 运行时上运行),但对于 99% 的情况来说这并不重要。

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

var result = await ...;

我相信 Jon Skeet 在他的 eduasync series 期间还发现了一些更隐蔽的错误。 .

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

The application is based on TPL, WPF dealing with asynchronously coming from the internet (stock exchange) data flows.

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

关于.net-4.0 - 使用 VS2010 Async CTP 的主要风险与好处是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15873354/

相关文章:

c# - UWP 应用程序中的 Async Task.Delay 开销,是否有更好的解决方案?

c# - 什么以及何时使用元组?

c# - C# 中的文件和文件夹递归列表

c++ - 如何在 Windows XP 上安装 GDI+ 1.1 版?

ruby 和 accdb(MS Access )

.net-4.0 - .net framework 4 可以在 windows xp 上运行吗?

JavaScript:Promise.All() 和 Async/Await 以及 Map()

javascript - nodejs 异步等待流程无法正常工作

c# - 安装 DotNET 4.5 时,SvcUtil/edb 不会生成 INotifyPropertyChange

c# - 选择哪个对象池后备存储?