2012-02-11 26 views
3

テスターと何度かテストして問題の古いビルドを取得し、修正されたバグを報告することに何度か混乱がありました。Visual Studio 2008でビルド番号/ビルドIDをプロジェクトに埋め込みます

私のプロジェクトにビルドIDを埋め込むにはどうしたらいいですか?ビルドの現在の時間、または単に1で始まり、プログラムがビルドされるたびに増分されます。ゲームUIでは、ビルド番号が印刷されるので、テスターが使用しているソフトウェアのバージョンがあいまいではありません。

私はグーグルで答えを求めてIRCに尋ねましたが、私が見つけたものはすべてC#にしか関係していないようです。

アイデア? Unixでは、Makefileを変更し、必要な値をソースに挿入するようにします。

今、私のベストプラクティスは、VSのビルドプロセスの仕組みを理解し、まず実行するPythonスクリプトを作成し、ソースを編集してビルド番号を更新することです。

答えて

3

[OK]を、ここで私の迅速かつ汚れたと醜い解決策です。

私はbuildid.txtファイルを持っています。これは、buildidの整数値のみを持つテキストファイルです。

は、私は、Visual Studioのビルドプロセス、ソリューションエクスプローラの右クリックの溶液でおよそマックするインクリメント-buildid.bat

@echo off 
for /f %%a in (buildid.txt) do (
    echo %%a 
    set /a num=%%a 
) 
echo %num% 
set /a num += 1 
echo %num% > buildid.txt 
echo int buildid = %num%; > buildid.c 

を持っている - >プロパティ - >ビルドのイベント - >イベントを事前に構築します。

私はこれをどうやって行うのか分かりましたので、ポストビルドのイベントでインスタントアップロードのために私のzip + scpスクリプトを入れることができます! (ブロックされているかどうかわからない、それをテストする必要があります)

編集:アップロードは確かにブロックされています。つまり、アップロードが完了するまでデバッグは開始されません。私はscpを使用してアップロードする別のバッチを持っています。これをダブルクリックすると、リモートサーバーに送信されます。

2

同じ問題を解決するために、#defineに日付/時刻スタンプを含むヘッダーファイルを生成する小さなユーティリティを書きました。ビルド前のステップとして実行され、メインプロジェクトには生成されたヘッダが含まれます。その後、サインオンのバナーなどにスタンプを含めることができます。

私のプロジェクトでは、バージョンリソースも生成し、.rc2ファイル(手作業で書かれたリソース)に移動し、生成されたヘッダーを含めてバージョンを適切に更新するように変更します。

関連する問題