Frage

Ist anyboy wissen, wie die LastChangeNumber Parameter in MSBuild passieren?

Ich versuche, diese zu verwenden:

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

Welche ignoriert erfolgreich die Bedingung, wenn ich den LastChangeNumber Parameter aus der MSBuild wegzulassen, und es gelingt ihm, wenn ich in einem Etagen Parameter wie /p:LastChangeNumber=foo passieren. Allerdings, wenn ich versuche, diese:

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

Ich erhalte eine Fehlermeldung in meinem CrusieControl.NET Server Log:

  

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException:   Verweis auf unbekanntes Symbol   LastChangeNumber

War es hilfreich?

Lösung

Nun, ich fand einen Weg, es zu tun:

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

Mit einem benutzerdefinierten Etikettierer:

<labeller type="assemblyVersionLabeller">
  <major>2</major>
  <minor>0</minor>
</labeller>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top