CruiseControl.Net - 在ccnet.config中使用参数

时间:2010-06-25 03:36:02

标签: parameters cruisecontrol.net mstest

我正在尝试使用 CCNetBuildDate CCNetBuildTime 参数动态更改单位测试结果的输出文件名,例如:

<project>
       <workingDirectory>C:\MyProject</workingDirectory>
  <tasks>
    <msbuild>
      <buildArgs>/property:TestResultsFile=TestResults.$[CCNetBuildDate].$[CCNetBuildTime].trx</buildArgs>
      <!-- etc... -->
    </msbuild>
  </tasks>

  <publishers>
    <merge>
      <files>
        <file>TestResults.$[CCNetBuildDate].$[CCNetBuildTime].trx</file>
      </files>
    </merge>
    <xmllogger />
  </publishers>
</project>

麻烦的是我无法弄清楚以这种方式使用参数的语法 - 我尝试过几十种变体:

  • $(CCNetBuildTime)
  • $ {CCNetBuildTime}
  • $ CCNetBuildTime

但它似乎永远不会将构建时间作为参数传递(例如,在上面的例子中,我最终得到了一个文件名“TestResults。$ [CCNetBuildDate]。$ [CCNetBuildTime] .trx”

我做错了什么?

(仅供参考:我试图动态决定测试结果文件名的原因是因为我使用固定的结果文件名继续使用我的构建报告中包含的过去构建的结果)

1 个答案:

答案 0 :(得分:3)

简短:您无法在CCNET配置中访问CCNetBuildDate等集成属性。

在类似问题上找到我的答案:Hereherehere

由于同样的问题一次又一次地出现,以这种方式使用集成属性似乎是绝对直观的。因此,或许值得将其作为CCNET功能请求...