CCNet:如何将 svn 修订号复制​​到 MSBuild 中的文件中?

发布于 2024-08-05 00:57:06 字数 1015 浏览 5 评论 0原文

有谁知道如何将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: 引用未知符号 最后更改编号

Does anyboy know how to pass the LastChangeNumber parameter into MSBuild?

I'm trying to use this:

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

Which successfully ignores the condition if I leave out the LastChangeNumber parameter from the MSBuild, and succeeds if I pass in a bunk parameter like /p:LastChangeNumber=foo. However, when I try this:

  <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>

I get an error in my CrusieControl.NET server log:

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException:
Reference to unknown symbol
LastChangeNumber

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ˉ厌 2024-08-12 00:57:06

好吧,我找到了一种方法:

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

使用自定义贴标机:

<labeller type="assemblyVersionLabeller">
  <major>2</major>
  <minor>0</minor>
</labeller>

Well, I found ONE way to do it:

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

With a custom labeler:

<labeller type="assemblyVersionLabeller">
  <major>2</major>
  <minor>0</minor>
</labeller>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文