【发布时间】:2013-12-31 17:02:25
【问题描述】:
我们的持续集成机器使用 CruiseControl.Net 并在 XP Pro SP3 上运行。我们目前正在使用 C:\Windows\Microsoft.NET\Framework\4.0.30319 中的 MSBuild.exe 从 VS2012 IDE 在 VB.NET 中构建 x86 解决方案。
直到最近,当最近在一个 VS2012 解决方案中添加代码时,我们没有遇到任何问题,该解决方案声明了一个使用 Iterator 关键字的函数(如在 Public Iterator Function (...) 中),现在 MSBuild 吐出了一长串错误对于声明行。我的理解是 VB.net 新支持 Iterator 关键字。我们是否需要更新 MSBuild 或 VB 编译器之类的东西才能在 XP 机器上构建它?
[编辑] 刚刚注意到开发机器上的 VB 编译器是 v11.0.50938.18400,而集成机器上的版本是 v 10.0.30319.233。我猜这指出了问题所在。下一个问题:如何将带有 v11 编译器的 4.0 框架安装到运行 XP 的巡航控制机器上?
【问题讨论】:
-
你能包含错误信息吗?您的 Iterator 函数是否使用 Yield 来返回值?您是否在开发机器上安装了 Async CTP,但在巡航控制服务器上没有安装?
-
VB.NET 在 VS2012 中获得了 Iterator 关键字。听起来您仍在使用 .NET 4.0 而不是安装 4.5 进行构建。
-
Nick - Yield 用于函数 - 不要认为 Async CTP 安装在 dev 上;知道它没有安装在巡航控制机器上。这是前两条错误消息: CHPGlobals.vb(951,16): error BC30209: Option Strict On 要求所有变量声明都有一个“As”子句。 [C:\Working\Commit\Applications\Common\CHPObjects\CHPObjects\CHPObjects.vbproj] CHPGlobals.vb(951,25):错误 BC30205:预期语句结束。 [C:\Working\Commit\Applications\Common\CHPObjects\CHPObjects\CHPObjects.vbproj]
-
Hans - 是的,我们是并且一直在使用 .NET 4.0 构建。 VB.NET 的 Iterator 关键字是否仅在 .NET 4.5 中支持?
标签: vb.net msbuild cruisecontrol.net