CCNET:我如何在SVN版本号复制到的MSBuild文件?
-
13-09-2019 - |
题
<强>是否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>
不隶属于 StackOverflow