<强>是否anyboy知道如何将LastChangeNumber参数传递到的MSBuild吗

我试图用这个:

<Exec Condition=" '$(LastChangeNumber)' != '' " Command=">\\server\destination\subversion_revision.txt echo subversion $(LastChangeNumber)" />

成功地忽略该条件,如果我离开了从所述的MSBuild参数LastChangeNumber,如果我通过在像/p:LastChangeNumber=foo双层参数成功。然而,当我试试这个:

  <msbuild>
    <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
    <projectFile>MySolution.sln</projectFile>
    <buildArgs>/noconsolelogger /p:Configuration=Debug /p:LastChangeNumber=$(LastChangeNumber) /v:diag</buildArgs>
    <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
  </msbuild>

我在CrusieControl.NET服务器日志得到一个错误:

  

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException:   参考未知符号   LastChangeNumber

有帮助吗?

解决方案

好了,我找到了一个方法来做到这一点:

<Exec Command=">$(DeployDir)label.txt echo subversion $(CCNetLabel)" />

通过自定义标签机:

<labeller type="assemblyVersionLabeller">
  <major>2</major>
  <minor>0</minor>
</labeller>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top