-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dotnet build parameters (-p) don't work when joined by semicolon (;) in dotnet 6.0.400 #27059
Comments
can confirm this too. For us this breaks the "pack" task (and a few others) in Azure Devops Pipelines, as they use semicolon as a seperator (and we can't change that) |
We have also this problem since updating to 6.0.400 with the dotnet build command. Workaround with using "," instead of ";" worked for us. |
We have the same error on our azure-devops pipelines. |
This was likely introduced in #26204, which itself was fixing a regression. We should extend the testing matrix for MSBuild property forwarding and cover this case, which is fairly unique among CLI arguments: MSBuild allows semicolon or comma-delimited lists of key/value pairs. In the meantime there are a few workarounds if you want to remain on the latest 6.0.400 version:
|
* update jellyfin 10.8.3 * update dotnet-sdk-6.0 to v6.0.400 - update dotnet sdk and add fix for dotnet/sdk#27059 * Update spk/jellyfin/Makefile Co-authored-by: Sebastian Schmidt <publicarray@users.noreply.github.com> * adjust msbuild parameters - avoid optimize (ReadyToRun assemblies) - use original parameters to avoid debug files * adjust unsupported archs for dotnet Co-authored-by: hgy59 <hpgy59@gmail.com> Co-authored-by: Sebastian Schmidt <publicarray@users.noreply.github.com>
We have also faced this problem, although in a slightly different way: it is now impossible to specify multiple values for a single property using In our projects, we use However, specifying |
I'm seeing the same problem as @HolyPrapor, with the RuntimeIdentifiers property. Setting it on the command line like this:
doesn't work anymore, because it ends up being passed as a string (instead of an array of strings) to the RuntimeIdentifiers property of the ProcessFrameworkReferences task. The difference seems to be that the property is now quoted when passed to msbuild:
|
I would like to emphasize that this causes build failures from one day to another in Azure Pipelines because of the way the - task: DotNetCoreCLI@2
inputs:
command: pack
configuration: $(buildConfiguration)
packagesToPack: '**/*.csproj'
buildProperties: 'InformationalVersion=Foo' And it fails because under the hood dotnet will be run using this argument:
Which since 6.0.400 will lead to the build configuration actually being As you can see we don't specify semicolons or commas anywhere and we don't have a way to specify multiple |
@baronfel this is fixed in .NET SDK 6.0.401 https://dotnet.microsoft.com/en-us/download/dotnet/6.0 |
Yep! This just wasn't closed when the linked PR merged. I'll do so now. |
I'm still seeing the same issue with 6.0.401.
I receive the following error: |
@henryzhao95 the issue you're seeing might be related to #15482. Otherwise do you need to escape the quotes around your NuspecProperties? I would just try removing the backslashes
|
Describe the bug
Using multiple MSBuild parameters joined by a semicolon in a
dotnet build
command don't work anymore in dotnet 6.0.400.To Reproduce
Executing the following command doesn't work anymore:
But changing it to this does:
In my case, the command:
resulted in the following error:
Exceptions (if any)
N/A
Further technical details
The text was updated successfully, but these errors were encountered: