CruiseControl 1.6的MSBuild失败

CruiseControl 1.6的MSBuild失败,msbuild,cruisecontrol.net,nant,cruisecontrol,Msbuild,Cruisecontrol.net,Nant,Cruisecontrol,G'day 由于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

G'day

由于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>

不幸的是,没有更多的消息透露,这一切都相当神秘

将MSBuildPath设置为如下所示,然后重试

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

这条线可能对你有帮助

编辑


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

对不起,我想我应该添加framework.dir指向该目录的内容。我试了你的建议,但没用