當前位置:編程學習大全網 - 編程語言 - 編程2013

編程2013

首先,如果在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文件(該文件位於% program files % \ Microsoft Visual Studio 10.0 \ Common 7 \ IDE \或% program files(x86)% \ Microsoft Visual Studio 10.0 \ Common 7 \ IDE \)。

2.在

& ltsystem.diagnostics & gt

& lt開關& gt

& ltadd name = " CPS " value = " 4 "/ >

& lt/switches & gt;

& lt/system.diagnostics >

3.重新啟動Visual Studio

4.打開DbgView(下載地址:/en-us/en-us/sysinternals/bb 896647)查看:菜單-》捕獲-》捕獲Win32和菜單-》捕獲-》捕獲事件。

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

6.在DbgView中按ctrl+F window查找“不是最新的”,找到類似這樣的內容:

[120]項目“D:\ CACHE \ test 1 \ test 1 . vcx proj”不是最新的,因為生成輸入“D:\ CACHE \ test 1 \ fun 1。h不見了。

7.此時,密鑰文件FUN1。找到了h。只需刪除項目中的這個文件,然後重新編譯它。

  • 上一篇:剛畢業沒多久,做運營,想轉行it,有沒有相應建議呢?
  • 下一篇:2018年浙江紹興會計繼續教育網登錄入口
  • copyright 2024編程學習大全網