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

貢獻者指南