Visual studio 2015 如何在MSVS 2015中启用构建调试?

Visual studio 2015 如何在MSVS 2015中启用构建调试?,visual-studio-2015,msbuild,Visual Studio 2015,Msbuild,我在MSVS 2015中有一个项目,每次都会错误地重建,即building总是启动MSBuild,然后给出一堆“所有输出都是最新的。”消息,后跟“Build Successed”。而不是像它应该做的那样什么都不做。在以前版本的MSV中,有一种(从未记录过的AFAIK)方法可以启用详细的调试日志记录,以快速找到原因,如所述。不幸的是,这似乎与MSVS 2015没有任何关系 有人知道是什么取代了它,或者用其他方法来调试这个问题吗?我在签出和解压缩一些有未来日期的文件时遇到了类似的问题。这导致整个项目

我在MSVS 2015中有一个项目,每次都会错误地重建,即building总是启动MSBuild,然后给出一堆“所有输出都是最新的。”消息,后跟“Build Successed”。而不是像它应该做的那样什么都不做。在以前版本的MSV中,有一种(从未记录过的AFAIK)方法可以启用详细的调试日志记录,以快速找到原因,如所述。不幸的是,这似乎与MSVS 2015没有任何关系


有人知道是什么取代了它,或者用其他方法来调试这个问题吗?

我在签出和解压缩一些有未来日期的文件时遇到了类似的问题。这导致整个项目即使没有任何更改也要重建

在*nix系统上,我会使用
touch
进行修复,但在Windows上,我在cmd.exe上使用
FOR
命令:

FOR /R %I in (*.*) do copy /b "%I" +,,
它将时间戳更新为当前(iirc)


在我弄明白之前,我试图改变构建过程的冗长。更改此设置后,需要重新启动VS2015:



另外,使用
configurationproperties->C/C++->General
打开启动横幅。这将为您提供更多的构建命令。

您是否已将构建输出详细性设置为诊断(工具->选项->项目和解决方案->构建和运行)?通常,相当长的构建协议应该会提示您出了什么问题。很可能是某个文件设置为“始终复制”。。。顺便说一句,如果什么都不做,您可能会得到输出行,比如“跳过xy,项目未选择生成”对不起,我应该提到我尝试过这个,但它没有真正的帮助,因为日志以类似于
----build started:project:foobar,配置:调试Win32------
如果有解释为什么它在它后面的3000行中启动,我找不到它。我真正的问题是为什么它首先开始构建。3000?300000更可能是:D但是如果你知道你在寻找什么,你可以大大减少这个:看看每个项目的第一行。其中,VS说明了它希望生成项目的原因,例如“13>项目“Rotor(Rotor\Rotor)”不是最新的。上次生成包含未保存的文件。”或“17>项目“ProductDatabaseImport”不是最新的。输入文件“something.dll”在输出文件“”之后被修改。“not-up”和“Last build”都没有出现在这个促使我返回这个问题的例子中的构建日志中,不幸的是,我终于发现为什么这个特定的项目一直在重建:它是一个由生成的C++文件构建的静态库,不知何故,库管理员没有更新库上的时间戳。(几乎可以肯定,因为生成的文件没有更改,因此对象文件可能也没有更改)。因此,输出比依赖项旧。但是,我花了很长时间才找到它,所以我仍然希望有更好的方法。问题是,这(将来的日期)只是虚假重建的众多或至少几个可能原因中的一个。我在过去确实看到过这一个,我也看到了最常见的一个原因,即不存在文件(不使用其他方式,例如标头)在项目中。我在上面向我描述了一个新的版本。以前的MSVS版本中的构建调试在直接查找错误方面有很大帮助,而MSBuild verbose diagnostics在这方面没有真正的帮助(请参阅我对上面注释的回复,了解原因)。我真的很困惑,他们为什么要删除这样一个有用的功能。。。