シナリオ
私のプロジェクトには、バッチファイルを実行するようにビルド後の段階が設定されています。このバッチファイルは、テキストファイル "version.txt"を読み込みます。バッチファイルはversion.txt内の情報を使用して、this toolを使用してバージョンブロック付きDLLを注入します。テキストファイルが変更されたときに強制的にビルドを古くなるようにするには?
version.txtは簡単に変更できるように私のプロジェクトに含まれています。それは少しのようになります。
@set #Description="TankFace Utility Library"
@set #FileVersion="0.1.2.0"
@set #Comments=""
は、基本的には、バッチファイルは、version.batするには、このファイルの名前を変更し、それを呼び出し、その後、その後version.txtをするために戻ってそれを変更します。
私は(例えば、ファイルのバージョンをインクリメントする)のversion.txtを変更した後、F7を押すと問題
は、ビルドが古くとして見ていないので、ビルド後の段階ではありませんDLLのバージョンは更新されません。
私は実際にビルドの入力として.txtファイルを含めることを望んでいますが、実際にはそれを使用しようとするものはありません。
プロジェクト内のCPPファイルから.txtファイルを#includeすると、コンパイラは "@set"の意味を理解していないため、失敗します。
@setコマンドの前後に/ * ... * /コメントを追加すると、バッチファイルに構文エラーがありますが、最終的には成功します。しかし、これは私が考える貧弱な解決策です。
だから、どうすればいいですか?
確かにハッキーです。私はファイルが修正されているかどうかを調べることが必要ないと思っていません、最後に使用したファイルまたは何かを保存しなければならないでしょう...しかし、ボックスの外で考えて良い仕事:) – demoncodemonkey