回答

18

它的失敗的原因是,有在同一項目中的另一個定製創建步驟,在打電話的批處理文件中,就像這樣:

命令行:buildsomething.bat something.h
說明:構建東西
輸出:something.h

Visual Studio 2010將所有自定義生成命令連接到一個單獨的批處理文件中,然後運行它。當批處理文件運行另一個批處理文件時,Windows不會將控制權返回到第一個批處理文件。它就像一個goto,而不是一個函數調用。因此,要解決這個問題,你需要使用call這樣的:

命令行:呼叫 buildsomething.bat something.h

call使得控制返回到Visual Studio的批處理流程文件,因此可以讓您的其他自定義生成步驟運行。

(我回答我的問題,使未來的搜索可以找到答案。)

0

確保以下兩個文件都處於良好狀態。更好地比較這些文件與工作VS設置。

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets 

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets 
相關問題