MSBuildスクリプトで次のようなターゲットを作成したいと思います。
- ソースフォルダーからSVNリビジョン/日時を取得します(「svninfo」コマンド)
- 'build'ターゲットによって生成された.EXEおよび.DLLからVERSIONINFOリソースを更新します
これを達成する準備ができているものはありますか?私は別のホイールを再発明する直前に尋ねています...
MSBuildスクリプトで次のようなターゲットを作成したいと思います。
これを達成する準備ができているものはありますか?私は別のホイールを再発明する直前に尋ねています...
MSBuild CommunityTasksProjectはあなたの友達です。彼らの「SvnInfo」タスクを確認してください。
また、Daniel DoubrovkineのResourceLibは優れた作業であり、VERSIONINFO作成の混乱を解消しようとするときに、多くの頭痛の種を回避できます(そこにいると、それが実行されます...)
プロジェクトに含まれているAssemblyInfoファイル(またはアセンブリ属性を持つ任意のファイル)を作成することにより、コンパイル前にこれを行うのがはるかに簡単になります。
ここにあるpowershellでこれを書く例:https ://github.com/craigbeck/rhino-esb/blob/master/psake_ext.ps1#L7-46
1つの注意点-.netのバージョンは単なる文字列ではなくushort
、最大65535であることを意味します(ここのドキュメントを参照)。(ある時点で行ったように)svnリビジョンを使用する場合、そのマジックナンバーを超えるとビルドが壊れます。
コンパイル後にこれを実行しようとするのはなぜですか?