CCネット:MSBuild で SVN リビジョン番号をファイルにコピーするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1461849

質問

誰かがパスを渡す方法を知っていますか 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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top