2012-03-05 27 views
6

我在Visual Studio 2010中工作,我可以通過編寫代碼並且IntelliSense甚至可以正常工作,但是當我在修改代碼後運行編譯器時,更改不要總是拿。這發生在C++ Win32控制檯應用程序,C++ Windows應用程序和C++ CLR控制檯應用程序中。它甚至發生在C#XNA中。必須在每次修改後在VS 2010中重建

我的意思是,我將開始編寫一個新程序,並編寫代碼,然後去構建以檢查錯誤,然後運行該程序,並且它會正常工作(如果沒有錯誤)。但是如果我想迭代代碼來添加我實現的功能(其中一些功能應該會很大程度地改變輸出),並且就好像它是在第一次構建時一樣。同樣,如果我插入斷點,它們並不總是像它們被忽略一樣(除了文件中未被觸及的)。儘管當我在這些時候編譯時,編譯器會正確地拋出錯誤(有意插入和意外插入),並且只有在這些點上它纔會進行所有更改。

我發現的唯一解決方法是在每次修改後都去完成重建,但這不應該是必要的,因爲我不添加標題或更改編譯順序。有時它會忽略在cout中更改單個字符的修改。

摘要:

  • 編譯器會忽略自去年建立
  • 編譯器會忽略在修改過的文件
  • 必須進行全破發點重建有變化所做的更改,以及斷點服用。

沒有人對此有任何想法。

編輯:似乎更改工具>選項>「項目和解決方案」>「生成並運行」>「運行時,項目已過時」更改爲「提示生成」確實解決了問題。儘管惱人的問題每次都不那麼討厭,那麼就不得不手動請求重建。需要做進一步的迭代,看看這不僅僅是膚淺的。

edit2:在繼續遍歷當前項目之後,似乎此更改沒有解決問題,但僅適用於主文件,並且任何子文件仍需要完整重建才能進行修改,即使是小文件也不例外。

回答

3

如果它發生在所有的項目中它可能是第一個修復提到in this answer

+1

檢查了這些選項,並且都在答案中聲明的狀態。 – gardian06 2012-03-05 01:45:12

+1

構建輸出看起來像它的建築?它是否也保存在構建中(在該鏈接中的第一個修復旁邊)? – 2012-03-05 01:52:14

+1

從總是構建切換到提示構建可能已經修復了,它需要進一步迭代項目以充分測試理論。仍然不那麼煩人,那麼每次都不得不手動重建,或者感到沮喪的是沒有進行更改。 +1答案。當確認接受 – gardian06 2012-03-05 01:57:34

0

後做:

工具>>選項>>項目和解決方案>>生成和運行>>檢查「上運行,當項目已過期「設置爲」始終構建「或」提示構建「 構建>>配置管理器>>檢查是否爲您想要爲每種配置構建的所有項目選中」構建「需要使用。

取消選中標誌「僅在Run上創建啓動項目和依賴關係」爲我製造了訣竅。

相關問題