「tlog」ファイルとは何ですか?
「tlog」ファイルは、ビルド中に実行される「Tracker.exe」プロセスによって作成され、ビルドに関する情報を記録します。
その情報は、次にビルドを開始するときに使用および更新され、「古い」ファイルを検出するのに役立ちます。これにより、ビルド システムは (すべてを再度ビルドするのではなく) 再ビルドする必要があるビットのみをビルドできるようになります。
「期限切れ」の問題の原因は何ですか?
この問題は、ファイル内の誤った情報または古い情報が原因である可能性があり*.tlog
ます。
主に次の 3 つの方法があります。
1) ハードディスクにプロジェクトを構築し、ディレクトリを別の場所に移動しました...「tlog」ファイルには古い場所のパスが記録されていましたが、ファイルを移動したため、それらは存在しなくなりました。 「期限切れ」を取得します。
2)「プロジェクト」には、指定された場所に存在しないファイル(通常はヘッダーファイル)への参照があります。これは、ソース管理システムからファイルを削除したが、プロジェクトから削除するのを忘れた場合、または別の場所に「インストール」/存在する可能性のあるライブラリのヘッダー ファイルを参照した場合に発生する可能性があります。多くの場合、開発者は、ファイルが全員のマシンの同じ「場所」にあると想定しています...常にそうであるとは限りません!
3)プロジェクトの「リファクタリング」を行い、ファイルを別のサブディレクトリに移動したり、名前を変更したりしたため、「tlog」に記録されたファイルのパス/名前がディスクに存在するものと一致しません。つまり、古いです.
それを修正する方法は何ですか?
「クリーン+ビルド」または「リビルド」を実行しても、常に修正されるとは限りません...これらの操作では「tlog」ファイルが削除されないためです。そう:
存在しないファイルを特定するにはどうすればよいですか?
Visual Studioが古いと考えているファイルを正確に知りたい/見つけたい場合は、Visual Studioでいくつかの診断情報をオンにすることができます....そしてDebugViewでメッセージを見てください....プローブしているファイル。
あなたdevenv.exe.config
が入れます:
<system.diagnostics>
<switches>
<add name="CPS" value="4" />
</switches>
</system.diagnostics>
詳細
S:\MYPROJECTS などの特定のディレクトリにソリューションと一連のプロジェクトを作成し、それをコンパイルして実行/デバッグしたとします。
次に、そのディレクトリ全体をドライブ上の別の場所に移動するか、プロジェクトをリファクタリングしてディレクトリ名を変更するなどの決定を下します。
「Start Debugging/F5」を実行すると、Visual Studio は依存するチェックを行い、「古いファイル」があると見なします。
「ソリューションのクリーン」または「ソリューションの再構築」を行っても、「古いファイル」というメッセージが表示されます。
ここを参照してください:
この問題は、依存関係のチェック中に参照される ".tlog" ファイルが原因で発生します...ソリューション/プロジェクトを (ビルドの中間ファイルと共に) 移動すると、Visual Studio ビルダーに混乱を引き起こします。
解決策は、すべての .tlog ファイルを削除することです。.tlog ファイルは、次にビルドを実行するときに再生成されます...そして、その時点から、偽の「古いファイル」を取得することはありません。メッセージ....それらが本当に古くなっている場合を除きます。