CCネット:MSBuild で SVN リビジョン番号をファイルにコピーするにはどうすればよいですか?
-
13-09-2019 - |
質問
誰かがパスを渡す方法を知っていますか 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:不明なシンボルへの参照 最終変更番号
解決
さて、私はそれを行う1つの方法を見つけました。
<Exec Command=">$(DeployDir)label.txt echo subversion $(CCNetLabel)" />
カスタム ラベラーを使用する場合:
<labeller type="assemblyVersionLabeller">
<major>2</major>
<minor>0</minor>
</labeller>
所属していません StackOverflow