ビルド スクリプトを使用して、いくつかの C# プロジェクトをコンパイルしています。バイナリ出力は結果フォルダーにコピーされ、以前のバージョンのファイルが上書きされてから、subversion に追加/コミットされます。
ソースや環境にまったく変更がない場合でも、コンパイルのバイナリ出力が異なることに気付きました。これはどのように可能ですか?バイナリの結果は、同じ入力に対して正確に等しいはずではありませんか?
どこでも特別なタイムスタンプを意図的に使用しているわけではありませんが、コンパイラ (Microsoft、.NET 4.0 に含まれているもの) がタイムスタンプ自体を追加する可能性はありますか?
私が尋ねている理由は、出力を subversion にコミットしているためです。ビルド サーバーの動作方法により、チェックインされた変更が再構築をトリガーし、再度変更されたバイナリ ファイルがサークル内でチェックインされます。