繁体   English   中英

如何使用Cruise Control.net在ccnet.config中设置msbuild脚本路径

[英]how to set msbuild script path in ccnet.config using cruise control.net

当我尝试使用Cruise Control运行脚本时,我的执行力不足。请查看我的代码,让我知道我在哪里做错

<build date="2013-07-02 16:38:56" buildtime="00:00:00" error="true" buildcondition="ForceBuild">MSBUILD : error MSB1008: Only one project can be specified.
Switch: e:\mybuild.xml

ccnet.config文件

<cruisecontrol>
  <project name="Visteon">
    <webURL>http://localhost:333/ccnet/</webURL>

    <triggers>
      <intervalTrigger seconds="110" buildCondition="ForceBuild" />
    </triggers>

    <tasks>

     <msbuild>
        <executable>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe</executable>

        <workingDirectory>E:\workingproject_5145</workingDirectory>

    <projectFile>myproject.sln</projectFile>

    <buildArgs>msbuild e:\mybuild.xml /t:Buildrun</buildArgs> 


    <timeout>120</timeout>

    <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>

      </msbuild>




    </tasks>
  </project>

</cruisecontrol>

我在下面提到的mybuild.xml中定义的脚本

<Target Name="GetSource">
    <Message Text="Checking out trunk into $(SourceDirectory)" />
    <SvnCheckout RepositoryPath="$(SvnCheckoutPath)"
        LocalPath="$(CheckOutPath)"
        UserName="aa"
        Password="aa">
      <Output TaskParameter="Revision" PropertyName="Revision" />
    </SvnCheckout>
  </Target>
  <Target Name="Buildrun" DependsOnTargets="GetSource;Clean;" />
  <Target Name="Clean">
    <!-- Clean, then rebuild entire solution -->
    <MSBuild Projects="$(CheckOutPath)\myproject.sln" Targets="Clean;Rebuild" />
  </Target>

您的projectFile应该是xml文件...(即.msbuild文件)

我想这就是你想要的。

 <projectFile>mybuild.xml</projectFile>

    <buildArgs>/t:Buildrun</buildArgs> 

长版:

    <executable>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe</executable>

    <workingDirectory>E:\workingproject_5145</workingDirectory>

    <projectFile>myproject.sln</projectFile>

    <buildArgs>msbuild e:\mybuild.xml /t:Buildrun</buildArgs> 

所以它将这些值连接起来

$可执行文件$ workingDirectory $ projectFile $ buildArgs

因此,您得到的是这样的:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe E:\workingproject_5145\myproject.sln msbuild e:\mybuild.xml /t:Buildrun

这不是你想要的。

如果您按以下方式进行设置:

    <executable>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe</executable>

    <workingDirectory>E:\workingproject_5145</workingDirectory>

    <projectFile>mybuild.xml</projectFile>

    <buildArgs>/t:Buildrun</buildArgs> 

您将获得如下内容:

    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe "E:\workingproject_5145\mybuild.xml" /t:Buildrun

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM