dotnet / msbuild

The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
https://docs.microsoft.com/visualstudio/msbuild/msbuild
MIT License
5.24k stars 1.35k forks source link

[Bug]: Passing a property on the commandline with a dot in the name fails with no error message #8504

Open rolfbjarne opened 1 year ago

rolfbjarne commented 1 year ago

Issue Description

Passing a property on the commandline with a dot in the name fails with no error message.

Steps to Reproduce

$ dotnet build /p:a.b=ab MSBuild version 17.6.0-preview-23108-10+51df47643 for .NET $ echo $? 1

Expected Behavior

An error message explaining the problem.

Actual Behavior

Failure with no explanation.

Analysis

No response

Versions & Configurations

$ dotnet --info .NET SDK: Version: 8.0.100-preview.1.23115.2 Commit: 913e4679b3

Runtime Environment: OS Name: Mac OS X OS Version: 12.6 OS Platform: Darwin RID: osx.12-x64 Base Path: /usr/local/share/dotnet/sdk/8.0.100-preview.1.23115.2/

Host: Version: 8.0.0-preview.1.23110.8 Architecture: x64 Commit: 7deac7d6da

.NET SDKs installed: 6.0.201 [/usr/local/share/dotnet/sdk] 6.0.403 [/usr/local/share/dotnet/sdk] 6.0.404 [/usr/local/share/dotnet/sdk] 7.0.100 [/usr/local/share/dotnet/sdk] 7.0.101 [/usr/local/share/dotnet/sdk] 7.0.102 [/usr/local/share/dotnet/sdk] 8.0.100-preview.1.23115.2 [/usr/local/share/dotnet/sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 6.0.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 6.0.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 6.0.12 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 7.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 8.0.0-preview.1.23112.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 6.0.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 6.0.11 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 6.0.12 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 7.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 8.0.0-preview.1.23110.8 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found: None

Environment variables: Not set

global.json file: Not found

Learn more: https://aka.ms/dotnet/info

Download .NET: https://aka.ms/dotnet/download

rainersigwald commented 1 year ago

Looks like it has regressed at some point since 16.11:

❯ &"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe" /p:a.b=ab
Microsoft (R) Build Engine version 16.11.2+f32259642 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

MSBUILD : error MSB4177: Invalid property. The name "a.b" contains an invalid character ".".

❯ msbuild /p:a.b=ab
MSBuild version 17.6.0-preview-23121-03+02c416287 for .NET Framework

❯
JaynieBai commented 1 year ago

@AR-May this is regressed since https://github.com/dotnet/msbuild/pull/7634/commits/8d2ea0f400c304778b1febe29c98cfc3bfb9166a