Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Msbuild 如何生成*.command.1.tlog文件?_Msbuild - Fatal编程技术网

Msbuild 如何生成*.command.1.tlog文件?

Msbuild 如何生成*.command.1.tlog文件?,msbuild,Msbuild,我最近深入研究了MSBuild,找出了近二十个*.vcxproj项目文件中的共性。以前我一直在用VisualStudio手动设置所有内容,但现在我有几个新的配置要生成,因此这些共性太多了,无法忽略 我想比较新旧构建过程中使用的编译器和链接器开关。我注意到,在构建之后,这些信息似乎包含在$(IntDir)$(TLogLocation)目录中的cl.command.1.tlog和link.command.1.tlog文件中。无论我使用MSBuild还是使用VisualStudio来执行构建,它们似乎

我最近深入研究了MSBuild,找出了近二十个*.vcxproj项目文件中的共性。以前我一直在用VisualStudio手动设置所有内容,但现在我有几个新的配置要生成,因此这些共性太多了,无法忽略

我想比较新旧构建过程中使用的编译器和链接器开关。我注意到,在构建之后,这些信息似乎包含在$(IntDir)$(TLogLocation)目录中的cl.command.1.tlog和link.command.1.tlog文件中。无论我使用MSBuild还是使用VisualStudio来执行构建,它们似乎都存在。我已经搜索了C:\ProgramFiles(x86)\MSBuild的文件,并且找到了我认为应该发生这种情况的地方,但是没有找到。我意识到我可以用一个脚本聚合这些输出并比较它们,但出于我自己的启发,我试图找到包含每个*.c/*.cpp/*.obj文件的开关的MSBuild变量。当我找不到它时,我开始查找这些*.tlog文件是在哪里生成的


在这一点上,我已经从理论上推测,可能是可执行文件本身在做这项工作(cl.exe/link.exe),但我不是100%相信这一点。通常我认为我会继续,但这在我脑海中提出了一个问题,即如何将新工具集成到MSBuild中。是否有一个界面指示您必须遵循这个范例?e、 g.如果新工具名为foo.exe,则需要放置foo.command.1.tlog和其他foo.*.1.tlog文件进行跟踪?

名称不必与工具名称相同,跟踪器似乎只查看*.tlog文件。这些文件本身并不是必需的,只是为了让增量构建工作起来。但我从尝试和发布的文章中得到了这些:过去,没有任何关于文件跟踪的官方文件,不知道是否已经改变了。谢谢你的评论。我对Process Monitor进行了一些挖掘,发现*.command.1.tlog文件是由MSBuild.exe本身生成的。被调用的工具,如cl.exe和rc.exe,确实与*.read.1.tlog和*.write.1.t.log文件交互,但似乎是通过MSBuild进行指示的。我不想深入研究,但我想我应该使用以下方法:结合Process Monitor调试MSBuild,查看*.command.1.tlog文件是何时编写的……是的,我也没有意识到MSBuild是开源的。我得看看它在干什么。愚蠢的是,我以前没有想到要查看=t名称不必与工具名称相同,跟踪器似乎只查看*.tlog文件。这些文件本身并不是必需的,只是为了让增量构建工作起来。但我从尝试和发布的文章中得到了这些:过去,没有任何关于文件跟踪的官方文件,不知道是否已经改变了。谢谢你的评论。我对Process Monitor进行了一些挖掘,发现*.command.1.tlog文件是由MSBuild.exe本身生成的。被调用的工具,如cl.exe和rc.exe,确实与*.read.1.tlog和*.write.1.t.log文件交互,但似乎是通过MSBuild进行指示的。我不想深入研究,但我想我应该使用以下方法:结合Process Monitor调试MSBuild,查看*.command.1.tlog文件是何时编写的……是的,我也没有意识到MSBuild是开源的。我得看看它在干什么。愚蠢的是,我以前没想过要看