与Using CruiseControl.NET and MSBuild to publish a website类似
我遇到的情况是ccnet.config中的MSBuild任务看起来确实有效,但最后这个过程终止于
standard-output stream closed -- null received in event
standard-error stream closed -- null received in event
process exited event received
从命令行运行时,一切都很顺利。
我查看了我能想到的所有日志文件,但是我很难过,我已经花了很多时间。请帮忙!
更新11/13:根据CCNET.CONFIG
的要求摘录 <msbuild>
<executable>$(msBuildExe)</executable>
<projectFile>"src\Solutions\Apprentice - Core Tests - VS11.sln"</projectFile>
<buildArgs>/noconsolelogger /p:Configuration="$(msbuildConfig)" /v:diag</buildArgs>
<logger>$(ccnet)\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
<environment>
<!-- allow NuGet to auto restore packages -->
<variable>
<name>EnableNuGetPackageRestore</name>
<value>true</value>
</variable>
</environment>
</msbuild>
使用
<cb:define msBuildExe="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" />
<cb:define msbuildConfig="Debug - No MSEL" />
在顶部,等等
答案 0 :(得分:3)
在您链接的答案中,您是否注意到msbuild块中的超时?我打赌你的使用默认超时或不够高。我建议加大它或为你的msbuild块添加一个高值。
您提到的错误与使用c#中的流程类的流程超时非常相似。
<timeout>900</timeout>
根据http://www.cruisecontrolnet.org/projects/ccnet/wiki/MsBuild_Task,默认超时为600秒或10分钟。
答案 1 :(得分:0)
这是一个想法:如果你从命令行运行并且一切正常,你可以让CCNET只使用旧版本的配置。只需重新启动Windows服务中的CCNet.Config服务,看看是否可以修复它。