-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Issue Description
Specifying /p:Property:value instead of /p:Property=value leads to an aborted build when using dotnet build.
Steps to Reproduce
> dotnet new console
> dotnet build <csproj name> /p:UseRidGraph:false
Expected Behavior
One line for the MSBuild version followed by a line specifying that the property is not valid (MSB1006) then telling me which exactly was wrong like:
MSBuild version 17.9.0-dev-23579-01+5fcddc790 for .NET Framework
MSBUILD : error MSB1006: Property is not valid.
Switch: UseRidGraph:false
For switch syntax, type "MSBuild -help"
Actual Behavior
It just told me the version with no errors:
MSBuild version 17.8.3+195e7f5a3 for .NET
Analysis
I tried this with MSBuild.exe (from main, not 17.8.3), and it worked as expected. I tried dotnet MSBuild.dll with the MSBuild freshly built from main, and it worked as expected. I tried using MSBuild.exe from my VS preview (version 17.9.0-preview-23574-01+7b37a280a), and this bug still didn't reproduce. Then I built MSBuild main and used the deploy script to overwrite my 8.0.100 SDK, and this bug finally reproduced.
That means this may be Core-specific (a CLI bug?) or it may be specific to some component that MSBuild does not overwrite with the deploy script. Of note, it does still print out the version, which (I think) means MSBuild knows it's supposed to be executing and tries to execute but ultimately fails without logging anything further.
Versions & Configurations
8.0.100 SDK with MSBuild version above.