当我想使用异步 CTP 关键字时,我在这里遇到了一个问题。所有开发人员机器都是 VS2010,因此需要安装异步 CTP - 已经完成并且使用这些功能编写了代码。但是,当我开始提交此代码时,我意识到我们的构建服务器安装了 VS2012(因此安装了 .NET 4.5),因为另一个团队需要 C++11 功能并共享此资源。
这意味着持续构建服务器会导致我们的 C# 构建失败,因为它们现在针对 .NET 4.0(我们仍然有 WinXP 用户计算机)使用异步方法以及启用这些新关键字的 CTP 方法。通过将异步目标包安装到这些项目中,我得到了其他编译错误(同一类定义了两次,一次在 CTP 中,一次在异步目标包中)。
有没有办法让这两种方法很好地结合在一起?显然,我们完全打算尽快让所有开发人员在 VS2012 上工作 - 更不用说让我们的用户启动并运行 .NET 4.5,但这超出了问题的范围。
我有一个解决方案,我已在下面回答,但希望得到任何反馈。