Pregunta

¿Tiene anyboy saber cómo pasar el parámetro LastChangeNumber en MSBuild?

Estoy tratando de utilizar esto:

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

Lo que hace caso omiso de la condición de éxito si dejo a cabo el parámetro LastChangeNumber del MSBuild, y tiene éxito si paso en un parámetro de litera como /p:LastChangeNumber=foo. Sin embargo, cuando intento esto:

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

Me aparece un error en mi registro del servidor CrusieControl.NET:

  

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException:   Referencia al símbolo desconocido   LastChangeNumber

¿Fue útil?

Solución

Bueno, he encontrado una manera de hacerlo:

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

Con una etiquetadora personalizado:

<labeller type="assemblyVersionLabeller">
  <major>2</major>
  <minor>0</minor>
</labeller>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top