MSBuild无法使用CruiseControl 1.6

时间:2011-08-24 04:22:11

标签: msbuild cruisecontrol.net nant cruisecontrol

天儿真好。

由于我们的TFS服务器升级到2010,我们已更新为ccnet 1.6。 在我们的ccnet.config中,我们正在执行一个包含MSBuild exec任务的nant(0.9)构建脚本。

在命令行中使用nant脚本指定的参数运行MSBuild工作正常,但由于某种原因,当ccnet通过nant脚本执行MSBuild任务时,它失败并显示以下内容:

外部程序失败:C:\ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ MSBuild.exe(返回代码为128)

nant exec任务:

<property name="MSBuildPath" value="${framework.dir}\MSBuild.exe"/>
    <exec program="${MSBuildPath}">
        <arg line="${project.svds}.sln" />
        <arg value="/t:Rebuild" />
        <arg value="/p:Configuration=Release" />
        <arg value="/p:Platform=x86" />
        <arg value="/verbosity:normal" />
        <arg line="/logger:'C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll'"/>
   </exec>

不幸的是,没有更多的东西显露出来,而且一切都相当神秘。

1 个答案:

答案 0 :(得分:2)

  

128 There are no child processes to wait for

如下所示设置MSBuildPath并尝试...

<property name="MSBuildPath" value="C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe" />    

This主题可能会对您有所帮助。

修改

这可能是由于服务用户帐户造成的。它可能作为本地系统帐户运行。更改服务帐户 - 通过控制面板/管理工具/服务可能会有所帮助。