dotnet/msbuild

MSB6006 should special case STATUS_CONTROL_C_EXIT

Open

#4,832 创建于 2019年10月21日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)C# (1,364 fork)batch import
Area: DebuggabilityArea: Taskshelp wantedtriaged

仓库指标

Star
 (5,062 star)
PR 合并指标
 (平均合并 11天 7小时) (30 天内合并 125 个 PR)

描述

When hitting Ctrl-C during a build, if a child tool was terminated by MSBuild as part of cancelation, you will get something like

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(1235,5): error MSB6006: "Lib.exe" exited with code -1073741510. [C:\git\coreclr\bin\obj\Windows_NT.x64.Release\src\vm
\crossgen\cee_crossgen.vcxproj]

-1073741510. of course is 0xC000013A: STATUS_CONTROL_C_EXIT

Since this is "by design" (MSBuild working properly) perhaps this code could special case it and give a message like error MSB6006: "Lib.exe" exited because it was canceled which looks less like something different went wrong during cancelation.

https://github.com/microsoft/msbuild/blob/b2db71bebaae4f54f7236ca303e2b0a14aca1a0d/src/Utilities/ToolTask.cs#L383-L386

贡献者指南