use*_*223 20 c++ visual-studio-2010 visual-studio visual-c++
我一直在努力让Visual C++工作,但是在构建每个项目时我都遇到了这个错误:"这个项目已经过时了""你想构建它吗?" 它每次都无法建立.
当我重建时,构建仍然失败,虽然在记录器中我没有注意到任何错误消息,这使我认为它没有正确记录(我正在使用第三方程序进行记录).
我在这里遵循了一些说明:http://blogs.msdn.com/b/vsproject/archive/2009/07/21/enable-c-project-system-logging.aspx并启用了日志记录.
我收到此错误:项目不是最新的,因为"在此处插入文件名".lastbuildstate缺失.请注意,在实际的visual studio中,没有任何记录.我无法在谷歌上找到任何相关内容.可能是我错误地启用了日志记录,但我觉得这是错误.
Col*_*ith 27
"tlog"文件由"Tracker.exe"进程创建,该进程在您进行构建时运行,并记录有关构建的一些信息.
下次启动构建时,将使用和更新该信息,以帮助检测"过时"文件,从而使构建系统仅构建需要重建的位(而不是再次构建所有内容).
问题可能是由*.tlog文件中的错误或陈旧信息引起的.
有三种主要方式可以发生:
1)您在硬盘上构建了一个项目,然后将目录移动到另一个位置......"tlog"文件记录了旧位置的路径,但由于您移动了文件,它们不再存在,因此您得到"过时".
2)您的"项目"引用了文件(通常是头文件),这些文件在指定的位置不存在.如果您从源代码管理系统中删除了一个文件,但忘记将其从项目中删除,或者因为您引用了可能已"安装"/出现在其他位置的库的头文件,则可能会发生这种情况.通常,开发人员认为文件位于每台机器上的相同"位置"......并非总是如此!
3)您已经对项目进行了一些"重构",并将文件移动到不同的子目录,甚至重命名它们 - 因此"tlog"中记录的文件的路径/名称与磁盘上存在的文件的路径/名称不匹配,即陈旧.
执行"清理+构建"或"重建"并不总是修复它......因为这些操作不会删除"tlog"文件.所以:
删除您可以在解决方案/项目目录中找到并重建的任何"tlog"文件.
确保您的Project不引用不存在的文件
如果您想知道/确切地知道Visual Studio认为哪些文件已经过时,那么您可以在Visual Studio中打开一些诊断信息....并在DebugView中查看消息...显示完整路径它正在探测的文件.
在devenv.exe.config你说:
<system.diagnostics>
<switches>
<add name="CPS" value="4" />
</switches>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
假设您在特定目录中创建了一个解决方案和一组项目,例如S:\ MYPROJECTS,您可以编译并运行/调试它等.
然后,您决定将整个目录移动到驱动器上的其他位置,或者重新设置项目因素,例如更改其目录名称等.
现在,当您执行"开始调试/ F5"时,Visual Studio会执行依赖检查,并认为您具有"过时文件".
即使您执行"清洁解决方案"或"重建解决方案"....您仍然会收到"过时文件"消息.
看这里:
问题是由依赖性检查期间正在查询的".tlog"文件引起的...当您移动解决方案/项目(以及构建中间文件)时,它们会导致Visual Studio构建器混淆.
解决方案是删除所有的.tlog文件......然后在下次构建时重新生成它们......从那时起你就不会得到一个虚假的"过时文件"消息....除非它们确实已经过时了.
Cro*_*ouZ 25
您应该让Visual Studio告诉您重建的原因.Visual Studio 2015内置了对此的支持:
将MSBuild项目构建输出详细程度更改为Detailed或Diagnostics.
在我的情况下,它打印了这样的消息:
1>------ Up-To-Date check: Project: xyz, Configuration: xyz ------
1>Project not up to date because build input 'C:\ws\Missing.h' is missing.
Run Code Online (Sandbox Code Playgroud)
...并从项目中删除该标题修复了问题.
要在较旧的Visual Studio版本中获取此信息,您需要使用DebugView并进行修改devenv.exe.config(请参阅Colin Smith的答案:https://stackoverflow.com/a/21759835/1941779).请注意,此解决方案不适用于Visual Studio 2015.
| 归档时间: |
|
| 查看次数: |
60051 次 |
| 最近记录: |