dotnet/msbuild

MSB6006 should special case STATUS_CONTROL_C_EXIT

Open

#4832 aperta il 21 ott 2019

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)C# (1364 fork)batch import
Area: DebuggabilityArea: Taskshelp wantedtriaged

Metriche repository

Star
 (5062 star)
Metriche merge PR
 (Merge medio 11g 7h) (125 PR mergiate in 30 g)

Descrizione

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

Guida contributor