Вопрос

Знает ли кто-нибудь, как передать LastChangeNumber параметр в MSBuild?

Я пытаюсь использовать это:

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

Который успешно игнорирует условие, если я оставляю параметр LastChangeNumber из MSBuild, и завершается успешно, если я передаю двухъярусный параметр типа /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.СЕТЕВОЙ журнал сервера:

ThoughtWorks.CruiseControl.Core.Config.Препроцессор.Исключение EvaluationException:Ссылка на неизвестный символ Номер последнего изменения

Это было полезно?

Решение

Что ж, я нашел ОДИН способ сделать это:

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

С помощью специальной этикетировочной машины:

<labeller type="assemblyVersionLabeller">
  <major>2</major>
  <minor>0</minor>
</labeller>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top