我正在尝试使用CruiseControl.NET版本1.3.0.2918中的任务,这个任务相当简单:
<project name="AppBuilder 1.0 (Debug)">
<workingDirectory>c:\depot\AppBuilder\1.0\</workingDirectory>
<triggers/>
<tasks>
<msbuild/>
</tasks>
</project>
然而,当运行项目时,构建日志中出现以下信息导致失败:
查看ccnet.log文件后发现以下内容:MSBUILD:错误 MSB1008:只能指定一个项目。开关:1.0
有关开关语法,请键入“MSBuild /help”
由此推断出在正确的工作目录下运行了msbuild,并将命令行传递给它:在工作目录[c:\depot\AppBuilder\1.0]中使用参数[/nologo "/p:CCNetArtifactDirectory=C:\Program Files\CruiseControl.NET\server\AppBuilder 1.0 (Debug)\Artifacts;CCNetBuildCondition=ForceBuild;CCNetBuildDate=2009-01-22;CCNetBuildTime=09:25:55;CCNetIntegrationStatus=Unknown;CCNetLabel=3; CCNetLastIntegrationStatus=Failure;CCNetNumericLabel=3;CCNetProject=AppBuilder 1.0 (Debug);CCNetProjectUrl=http://CISERVER01/ccnet;CCNetRequestSource=jstong; CCNetWorkingDirectory=c:\depot\AppBuilder\1.0\" "/l:ThoughtWorks.CruiseControl.MsBuild.XmlLogger,ThoughtWorks.CruiseControl.MsBuild.dll;C:\Program Files\CruiseControl.NET\server\AppBuilder 1.0 (Debug)\Artifacts\msbuild-results.xml"]开始进程[C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe]
如果手动在命令行中运行此命令,将会得到类似的错误。/nologo "/p:CCNetArtifactDirectory=C:\Program Files\CruiseControl.NET\server\AppBuilder 1.0 (Debug)\Artifacts;CCNetBuildCondition=ForceBuild;CCNetBuildDate=2009-01-22;CCNetBuildTime=09:25:55;CCNetIntegrationStatus=Unknown;CCNetLabel=3; CCNetLastIntegrationStatus=Failure;CCNetNumericLabel=3;CCNetProject=AppBuilder 1.0 (Debug);CCNetProjectUrl=http://CISERVER01/ccnet;CCNetRequestSource=jstong; CCNetWorkingDirectory=c:\depot\AppBuilder\1.0\" "/l:ThoughtWorks.CruiseControl.MsBuild.XmlLogger,ThoughtWorks.CruiseControl.MsBuild.dll;C:\Program Files\CruiseControl.NET\server\AppBuilder 1.0 (Debug)\Artifacts\msbuild-results.xml"
我认为,ccnet没有向MSBuild可执行文件传递正确的命令行。
你能发现我的错误吗?或者这个版本的CruiseControl.NET(1.3.0.2918)在任务方面出了问题吗?