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。
出了什么问题?
答案 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),它未设置并导致问题。