如何检测(或记录)MSBuild是否正在跳过项目,因为它是最新的?

时间:2013-09-10 14:28:16

标签: logging visual-studio-2012 build msbuild projects-and-solutions

在Visual Studio中,每次构建后都会获得一个报告,列出它跳过的项目,因为它们是最新的。你可能会得到这样的东西。

==========构建:11成功,0失败,59最新,0跳过==========

虽然使用MSBuild(命令行),我似乎无法做到这一点。我能做的最好的事情就是为单独跳过的目标解析日志文件(这样做会非常烦人),但即便如此,我也不知道该项目是否被跳过。如果Visual Studio做到了,我认为它是可行的。我只是无法弄清楚如何。

由于

1 个答案:

答案 0 :(得分:0)

构建和重新构建有两个选项。重建将满足您的需求。

基本命令语法是

msdev FileName [/MAKE "ProjectName – ConfigName | ALL"] [/REBUILD /CLEAN /NORECURSE /OUT LogFile /USEENV]

其中FileName是项目(.dsp)或工作区(.dsw)文件的名称。 例如,以下语法删除所有中间文件,然后构建名为MyProject的项目:

msdev MyProject.dsp /MAKE "MyProject – Win32 Debug" /REBUILD

来源:http://msdn.microsoft.com/en-us/library/aa699274(v=vs.60).aspx

FOR LOGGING:

  1. 在工具中启用构建计时>选项>项目和解决方案> VC ++项目设置>构建时间它实际上使用PerformanceSummary标志启动msbuild
  2. 如果您对整个构建的已用时间感兴趣 2.1改变工具>选项>构建并运行> MSBuild项目将输出详细程度至少设置为Normal。 (在这种情况下,它只记录到输出窗口)
  3. 我希望将其存储到构建日志文件中也可以更改工具>选项>构建并运行> MSBuild项目构建日志文件详细程度至少为Normal。 每个vcxproj文件的构建都记录在Project>中指定的文件中。属性>配置属性>构建日志文件

    如果您在点击构建命令后没有看到任何时间,可能是因为您的项目是最新的(没有任何更改) - 由msbuild的增量构建功能检测到。