2010-01-26 42 views
8

我寫了一個VS插件,它攔截Visual Studio的構建命令並使用另一個構建系統來構建。我的構建以正確的格式顯示錯誤,以便您可以在VS中單擊它們,但完全無縫集成的其中一步是防止VS的「運行」或「調試」命令發出它不認爲的錯誤該項目是建立(當然是)有人知道我怎麼能欺騙VS認爲該項目是建立?visual studio使用什麼來確定構建是最新的?

+0

看看下面的命令在這裏:http://stackoverflow.com/questions/2762930/vs2010-always-thinks-project-is-out -of-日期,但全無,已經改變的 – 2012-09-18 17:23:29

回答

5

不久之後,MSBuild/Visual Studio將檢查特定項目配置中已定義目標的輸出。接下來,它將指定爲目標輸出的文件的時間戳與指定爲該特定目標的輸入的所有文件的時間戳進行比較。如果輸入比輸出更新,那麼它會請求重新生成輸出(重新編譯源代碼或重新鏈接目標文件等)。

我如何欺騙VS,使其認爲項目已經構建?輸入文件的

更新時間戳,作爲連接器,並且是您感興趣的其他文件輸入即源文件(.cpp.cs)或類似.obj二進制文件。

有時候,我做手工發放使用touch實用工具的GnuWin32

touch myfile.obj 
2

Visual Studio使用源文件的日期/時間戳。如果源文件更新,則編譯後的二進制位於bin\debugbin\release,Visual Studio將重建該解決方案。

有時,重建過​​程可能會失敗,快速解決方案是刪除解決方案的bin\debugbin\release文件夾中的中間調試文件*.pdb。然後在解決方案上發佈構建。

希望這會有所幫助, 最好的問候, 湯姆。

相關問題