5

MSBuildスクリプトで次のようなターゲットを作成したいと思います。

  • ソースフォルダーからSVNリビジョン/日時を取得します(「svninfo」コマンド)
  • 'build'ターゲットによって生成された.EXEおよび.DLLからVERSIONINFOリソースを更新します

これを達成する準備ができているものはありますか?私は別のホイールを再発明する直前に尋ねています...

http://msbuildextensionpack.codeplex.comを調べています

4

2 に答える 2

5

MSBuild CommunityTasksProjectはあなたの友達です。彼らの「SvnInfo」タスクを確認してください。

また、Daniel DoubrovkineのResourceLibは優れた作業であり、VERSIONINFO作成の混乱を解消しようとするときに、多くの頭痛の種を回避できます(そこにいると、それが実行されます...)

于 2009-09-05T03:40:19.680 に答える
1

プロジェクトに含まれているAssemblyInfoファイル(またはアセンブリ属性を持つ任意のファイル)を作成することにより、コンパイル前にこれを行うのがはるかに簡単になります。

ここにあるpowershellでこれを書く例:https ://github.com/craigbeck/rhino-esb/blob/master/psake_ext.ps1#L7-46

1つの注意点-.netのバージョンは単なる文字列ではなくushort、最大65535であることを意味します(ここのドキュメントを参照)。(ある時点で行ったように)svnリビジョンを使用する場合、そのマジックナンバーを超えるとビルドが壊れます。

コンパイル後にこれを実行しようとするのはなぜですか?

于 2009-09-05T03:58:48.477 に答える