Est-ce que anyboy sait comment passer le paramètre LastChangeNumber
dans MSBuild?CCNet: Comment copier le numéro de révision svn dans un fichier dans MSBuild?
Je suis en train d'utiliser ceci:
<Exec Condition=" '$(LastChangeNumber)' != '' " Command=">\\server\destination\subversion_revision.txt echo subversion $(LastChangeNumber)" />
Ce qui ne tient pas compte avec succès la condition si je quitte le paramètre LastChangeNumber du MSBuild, et réussit si je passe un paramètre superposé comme /p:LastChangeNumber=foo
. Cependant, quand j'essaie ceci:
<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>
je reçois une erreur dans mon serveur CrusieControl.NET journal:
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: référence au symbole inconnu LastChangeNumber
$ (LastChangeNumber) est défini ou un processus qui est appelé par CCNet. Le processus lui-même doit remplacer l'environnement varibales. Il semble que cela ne soit pas fait par msbuild. Donc, votre solution semble être au moins une façon de le faire fonctionner. – PVitt