为何输​​出错误:'在Post-Build事件中破坏了我在VS2012中的构建?

时间:2016-09-13 09:02:15

标签: visual-studio msbuild post-build-event targets

添加

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 ==========

只有在出现“错误”时才会发生这种情况。字符串后跟一个':'字符。

1 个答案:

答案 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?