vs2010提示项目已经过期的解决方法
这篇文章主要介绍vs2010提示项目已经过期的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
vs2010提示项目已经过期怎么办?
启动调试时总是提示此项目已经过期的解决方案
首先在Visual Studio里如果编译没过,那么这个提示就是正常的。
因为此项目已经过期表示你改了某些文件或项目配置或者上次没有编译成功,需要重新编译,否则调试会出错。
如果你上次编译通过了,按F5调试还是出现此提示,那可能就有问题了。
如果每次都出现这样的问题,那么这个解决方案很适合你。
当然解决方案不是选择"不要再显示此对话框",这个只是不显示,但是每次调试还会先编译一次再启动。
我们要的是不要再编译了,直接启动调试吧。
首先此提示表示visual studio发现某些文件已经过期了,但是在编译的时候没有发现有文件被编译,连输出文件都没有重新生成。这不坑我吗。
好吧,其实它就是坑我的,这是Visual studio的bug。在Visual studio 2005上一般没有此问题,但是在Visual studio 2010上会出现此问题,其他版本暂时不清楚。
虽然是bug,但是也是可以解决的。
这个bug的原因是Visual studio 2010认为项目中的被删除的文件是过期的,比如项目中的某个头文件,这个头文件已经被删除,Visual studio 2010找不到这个头文件,就认为它是过期的,所以每次调试VS都认为项目是过期的,需要先编译。
那为什么编译时没有发现有文件被编译呢,原因是这个头文件没有被任何CPP或C文件使用,所以编译时没有发现有文件需要重新编译。
Bug的原理明白了,解决方案就是在VS项目中删除那个头文件。
一种笨方法就是在VS里一个个头文件点击打开,找到不能打开的。
一种聪明的方法是写脚本解析工程文件,然后验证文件是否存在。
还有一种方法是通过DebugView来查看。
下面介绍一个这种方案。
1. 打开devenv.exe.config文件(此文件在%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\ 或者 %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\里)
2. 在这行前面添加
6. 在DbgView按ctrl+F窗口查找"not up to date",查找到如:
[120] Project 'D:\cache\test1\test1.vcxproj' not up to date because build input 'D:\CACHE\TEST1\FUN1.H' is missing.
7. 此时就找到了关键文件FUN1.H,只要在工程中移除这个文件再编译一次就可以了。
以上是"vs2010提示项目已经过期的解决方法"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!