添加
cmd.exe /c "ECHO error : unexplainable"
导致这个:
1>------ Build started: Project: xxx, Configuration: Debug Win32 ------
1>EXEC : error : unexplainable
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(134,5): error MSB3073: The command "cmd.exe /c "ECHO error : unexplainable"
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(134,5): error MSB3073: :VCEnd" exited with code -1.
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
只有在出现“错误”时才会发生这种情况。字符串后跟一个':'字符。
答案 0 :(得分:4)
这是MSBuild中的一个错误:https://github.com/Microsoft/msbuild/issues/766
“PostBuildEvent”目标使用的“Exec”任务默认情况下应将“IgnoreStandardErrorWarningFormat”设置为true,但不会,因此在输出中找到“error:”时会失败。
修复此问题的一种不可靠方法是修改“PostBuildEvent”目标
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets
(第134行)将IgnoreStandardErrorWarningFormat="true"
添加到'Exec'任务
在项目中覆盖预定义的“PostBuildEvent”,如:Can I include a .targets file in a .props property sheet?