Visual Studio 2010では、インクリメンタルビルドはファイルトラッカー(Microsoft.Build.Utilities.FileTracker)を使用して実行されます。中間ディレクトリにこれらの*.1.tlogファイルを作成する責任があるようです。
これらの.tlogファイルの構文への参照が見つかりませんでした。
これらには、インクリメンタルビルドでコンパイルする必要があるファイルを確認するために、トラッカーがツールの実行を追跡している間に読み取り/書き込みされるファイルへのパスのリストが含まれています。ただし、これらのファイルには、「^」や「|」などの特殊文字も含まれています。
私が気付いたもう1つのことは、これらのファイルがVisualStudioのターゲットファイルから編集されることがあるということです。たとえば、CustomBuildStepターゲットのMicrosoft.CppCommon.targetsで、次の行が見つかりました。
<!-- Appended tlog to track custom build events -->
<WriteLinesToFile File="$(IntDir)$(ProjectName).write.1.tlog" Lines="@(CustomBuildStep->'^%(Identity)');@(CustomBuildStep->MetaData('Outputs')->FullPath()->Distinct())"/>
したがって、これはおそらく、プロジェクトファイルがカスタムビルドステップの出力に依存していることを意味します。
私の質問は次のとおりです。
- .tlogファイル構文のリファレンスを知っている人はいますか?
- Visual Studioでトラッカーログが使用されるのはどの場合ですか?CLと、それを使用するLinkタスクについては知っていますが、Visual Studio IDE自体が、特定のプロジェクトに対してmsbuildを実行するかどうかを決定するためにCLを使用しているようです。
ありがとう
編集
別のヒント:
CanonicalTrackedInputFiles Class
は、「標準形式の.read。追跡ログまたは正規化するためにルート化された(^)ログのファイル追跡ログインタープリター」として文書化され
ています。時間があれば、もう少し掘り下げます。おそらく、このクラスとMicrosoft.Build.Utilitiesの下の他のクラスを使用して、生のテキストのtlogファイルを直接操作する代わりに、tlogファイルを操作するのに役立てることができます。
も参照してください:CanonicalTrackedOutputFiles Class
、FlatTrackingData Class
そしてもちろんFileTracker Class
。