首頁 >開發工具 >VSCode >vs2010提示項目已經過期怎麼辦

vs2010提示項目已經過期怎麼辦

藏色散人
藏色散人原創
2020-04-20 09:00:1016467瀏覽

vs2010提示項目已經過期怎麼辦

vs2010提示專案已經過期怎麼辦?

啟動偵錯時總是提示此專案已過期的解決方案

推薦教學:vscode教學

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\ 或%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\裡)

2. 在這行前面新增

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

3. 重新啟動Visual Studio

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

#5. 點選F5開始調試,出現提示“此項目已過期”時停止

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提示項目已經過期怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn