2017-03-22 401 views
1

Visual Studio 2017 Professional。原生C++項目。 我已經改變了一些後,項目設置項目建設的結束與此:錯誤MSB4018:Visual Studio 2017中的「VCMessage」任務意外失敗

Microsoft.CppCommon.targets(770,5): error MSB4018: The "VCMessage" task failed unexpectedly. 
Microsoft.CppCommon.targets(770,5): error MSB4018: System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. 
Microsoft.CppCommon.targets(770,5): error MSB4018: at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args) 
... 

PlatformToolSet提到here設置。

怎麼了?

回答

1

這一次是

Configuration Properties -> Linker -> Debugging -> Generate Program Database File 

如果省略文件名(當鄰居選擇「生成調試信息」不爲「否」),那麼VS-2017完成與錯誤MSB4018建設。然而,在這種情況下構建目標。

+0

這也是我的問題的解決方案。你的回答爲我節省了很多時間。謝謝。 –

0

右鍵單擊該項目並轉到屬性>鏈接器>常規。 然後將「輸出文件」設置爲「從父項目或項目默認值繼承」

0

轉到錯誤列表窗口並單擊錯誤,您可能會獲得更多信息。在我的情況下,它指向Microsoft.CppCommon.targets中的一行,它是一個XML元素。在arguments屬性中,一個值是%(Link.ProgramDatabaseFile),它沒有設置並導致問題。

相關問題