我最近深入了解了MSBuild的内容,以分析近二十个* .vcxproj项目文件的共性。以前我曾使用Visual Studio手动设置所有内容,但面对我现在有几个新配置要生成的事实,这些共性太多了。
我想比较新旧构建过程中使用的编译器和链接器开关。我注意到这些信息似乎包含在例如构建后,$(IntDir)$(TLogLocation)目录中的cl.command.1.tlog和link.command.1.tlog文件。无论我使用MSBuild还是使用Visual Studio执行构建,它们似乎都在那里。我已经搜索过C:\ Program Files(x86)\ MSBuild的文件,而且我找到了我认为应该发生的地方,但是我已经找到了。我意识到我可以用脚本聚合这些输出并比较它们,但是为了我自己的启发,我试图找到包含每个* .c / * .cpp / * .obj文件的开关的MSBuild变量。当我无法找到它时,我开始寻找生成这些* .tlog文件的位置。
此时我已经理论认为可能是可执行文件本身在做这项工作(cl.exe / link.exe),但我并不是100%相信这一点。通常我认为我会继续前进,但它在我的脑海中提出了一个问题,即如何将某个新工具集成到MSBuild中。在某个地方是否有一个界面要求你必须遵循这个范例?例如如果新工具被称为foo.exe,则需要放置foo.command.1.tlog和其他foo。*。1.tlog文件进行跟踪?