我想在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)中被遗弃的那些缺陷和错误有多严重?我应该考虑哪些可能迫使我改变决定的其他考虑因素?
提出要求的主要原因是:
主要问题:
在VS2010,Windows XP SP3中的.NET / C#4.0中,不支持的缺陷不会有简单的解决方法,以及那些可以超过使用async / await
该应用程序基于TPL,WPF处理异步来自互联网(股票交易所)的数据流。我以前从未需要关心我会留下不受支持的文档(示例),缺陷和错误。我可能无法询问它们,因为它们不会被MSFT支持以及其他人重现。我想估计使用不受支持的扩展程序的风险与收益
主要的差异,缺陷,错误和风险是否无限且无法枚举?什么?
让我引用download page:
“包括用于生产的新EULA。注意 - 此许可证不包括 鼓励您使用CTP进行生产 码。 CTP仍然是一种无法支持和自行使用的风险 技术预览。但是,我们收到了很多请求 开发人员使用CTP进行生产代码,因此已经改变了 许可证允许“
这不是我在问题的开头提到的参考prev enter link description here讨论的选项。无法从VS2012或具有.NET 4.5的计算机开发和测试.NET 4.0应用程序。在Windows XP上安装VS2012或.NET4.5是不可能的。我的经验(尝试安装来自其他供应商的应用程序)是您提到的方法不会生成在 Windows XP上运行的应用程序
答案 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进行开发。