错误MSB4018:“VCMessage”任务意外失败'在Visual Studio 2017中

时间:2017-03-22 15:00:55

标签: visual-studio-2017

Visual Studio 2017专业版。 原生C ++项目。 在我更改了一些项目设置之后,项目构建以此结束:

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)
...

设置了here的PlatformToolSet。

出了什么问题?

3 个答案:

答案 0 :(得分:1)

这次是

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

如果省略文件名(虽然邻居选项“生成调试信息”不是“否”),则VS-2017使用错误MSB4018完成构建。尽管如此,还是建立了一个目标。

答案 1 :(得分:0)

右键单击该项目,然后转到属性>链接器>一般。 然后设置"输出文件" to"继承父级或项目默认值"

答案 2 :(得分:0)

转到错误列表窗口并单击错误,您可能会获得更多信息。在我的例子中,它指向Microsoft.CppCommon.targets中的一行,它是一个XML元素。在arguments属性中,一个值是%(Link.ProgramDatabaseFile),它未设置并导致问题。