溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vs2010提示項(xiàng)目已經(jīng)過期的解決方法

發(fā)布時(shí)間:2021-01-13 10:15:23 來(lái)源:億速云 閱讀:2042 作者:小新 欄目:軟件技術(shù)

這篇文章主要介紹vs2010提示項(xiàng)目已經(jīng)過期的解決方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

vs2010提示項(xiàng)目已經(jīng)過期怎么辦?

啟動(dòng)調(diào)試時(shí)總是提示此項(xiàng)目已經(jīng)過期的解決方案

vs2010提示項(xiàng)目已經(jīng)過期的解決方法

首先在Visual Studio里如果編譯沒過,那么這個(gè)提示就是正常的。

因?yàn)榇隧?xiàng)目已經(jīng)過期表示你改了某些文件或項(xiàng)目配置或者上次沒有編譯成功,需要重新編譯,否則調(diào)試會(huì)出錯(cuò)。

如果你上次編譯通過了,按F5調(diào)試還是出現(xiàn)此提示,那可能就有問題了。

如果每次都出現(xiàn)這樣的問題,那么這個(gè)解決方案很適合你。

當(dāng)然解決方案不是選擇“不要再顯示此對(duì)話框”,這個(gè)只是不顯示,但是每次調(diào)試還會(huì)先編譯一次再啟動(dòng)。

我們要的是不要再編譯了,直接啟動(dòng)調(diào)試吧。

首先此提示表示visual studio發(fā)現(xiàn)某些文件已經(jīng)過期了,但是在編譯的時(shí)候沒有發(fā)現(xiàn)有文件被編譯,連輸出文件都沒有重新生成。這不坑我嗎。

好吧,其實(shí)它就是坑我的,這是Visual studio的bug。在Visual studio 2005上一般沒有此問題,但是在Visual studio 2010上會(huì)出現(xiàn)此問題,其他版本暫時(shí)不清楚。

雖然是bug,但是也是可以解決的。

這個(gè)bug的原因是Visual studio 2010認(rèn)為項(xiàng)目中的被刪除的文件是過期的,比如項(xiàng)目中的某個(gè)頭文件,這個(gè)頭文件已經(jīng)被刪除,Visual studio 2010找不到這個(gè)頭文件,就認(rèn)為它是過期的,所以每次調(diào)試VS都認(rèn)為項(xiàng)目是過期的,需要先編譯。

那為什么編譯時(shí)沒有發(fā)現(xiàn)有文件被編譯呢,原因是這個(gè)頭文件沒有被任何CPP或C文件使用,所以編譯時(shí)沒有發(fā)現(xiàn)有文件需要重新編譯。

Bug的原理明白了,解決方案就是在VS項(xiàng)目中刪除那個(gè)頭文件。

一種笨方法就是在VS里一個(gè)個(gè)頭文件點(diǎn)擊打開,找到不能打開的。

一種聰明的方法是寫腳本解析工程文件,然后驗(yàn)證文件是否存在。

還有一種方法是通過DebugView來(lái)查看。

下面介紹一個(gè)這種方案。

1. 打開devenv.exe.config文件(此文件在%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\ 或者 %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\里)

2. 在</configuration>這行前面添加

<system.diagnostics>
<switches>
<add name=”CPS” value=”4″ />
</switches>
</system.diagnostics>

3. 重新啟動(dòng)Visual Studio

4. 打開DbgView(下載地址:http://technet.microsoft.com/en-us/sysinternals/bb896647), 勾選:菜單-》Capture-》Capture Win32  和 菜單-》Capture-》Capture Events

5. 點(diǎn)擊F5開始調(diào)試,出現(xiàn)提示“此項(xiàng)目已經(jīng)過期”時(shí)停止

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.  此時(shí)就找到了關(guān)鍵文件FUN1.H,只要在工程中移除這個(gè)文件再編譯一次就可以了。

以上是“vs2010提示項(xiàng)目已經(jīng)過期的解決方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI