You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hope I'm at the right spot. I've noticed breaking change on how dotnet pack is handling build properties being passed. While this became obvious from my DevOps pipeline, I've extracted the commands that are being executed and identified what has changed in the pipeline between when it was working (yesterday) and when it is not (today).
The only change between executions is the version of MSBuild being used - 17.2.0+41abc5629 vs 17.3.0+92e077650.
It seems from the semicolon handling has changed for build properties being passed in, and is being converted to %3B. When multiple properties are sent in, this results in the entire string being assigned to the first property. In the below example, I went from assigning two individual properties (Configuration=release, Authors="My Company") to it being treated as one property (Configuration=release%3D Author="My Company")
The following command is executed:
"C:\Program Files\dotnet\dotnet.exe" pack D:\a\1\s\Core\Core.csproj --output D:\a\1\a\Package --no-build "/p:Configuration=release;Authors="My company";"
Yesterday when the command executed in pipeline, the following:
Microsoft (R) Build Engine version 17.2.0+41abc5629 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
Hope I'm at the right spot. I've noticed breaking change on how dotnet pack is handling build properties being passed. While this became obvious from my DevOps pipeline, I've extracted the commands that are being executed and identified what has changed in the pipeline between when it was working (yesterday) and when it is not (today).
The only change between executions is the version of MSBuild being used - 17.2.0+41abc5629 vs 17.3.0+92e077650.
It seems from the semicolon handling has changed for build properties being passed in, and is being converted to %3B. When multiple properties are sent in, this results in the entire string being assigned to the first property. In the below example, I went from assigning two individual properties (Configuration=release, Authors="My Company") to it being treated as one property (Configuration=release%3D Author="My Company")
The following command is executed:
"C:\Program Files\dotnet\dotnet.exe" pack D:\a\1\s\Core\Core.csproj --output D:\a\1\a\Package --no-build "/p:Configuration=release;Authors="My company";"
Yesterday when the command executed in pipeline, the following:
Microsoft (R) Build Engine version 17.2.0+41abc5629 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 8/14/2022 7:26:22 PM.
0>Process = "C:\Program Files\dotnet\dotnet.exe"
MSBuild executable path = "C:\Program Files\dotnet\sdk\6.0.302\MSBuild.dll"
Command line arguments = "C:\Program Files\dotnet\sdk\6.0.302\MSBuild.dll -maxcpucount -verbosity:m -target:pack -property:PackageOutputPath=D:\a\1\a\Package -property:NoBuild=true -verbosity:detailed -property:Configuration=release;Authors="My company";"
Today when the command executes in pipeline, the following:
MSBuild version 17.3.0+92e077650 for .NET
Build started 8/15/2022 6:31:03 PM.
0>Process = "C:\Program Files\dotnet\dotnet.exe"
MSBuild executable path = "C:\Program Files\dotnet\sdk\6.0.400\MSBuild.dll"
Command line arguments = "C:\Program Files\dotnet\sdk\6.0.400\MSBuild.dll -maxcpucount -verbosity:m -target:pack -property:PackageOutputPath=D:\a\1\a\Package -property:NoBuild=true -verbosity:detailed --property:Configuration=release%3BAuthors="My company"%3B"
The text was updated successfully, but these errors were encountered: