Skip to content
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

DotNetMSBuild alias generates extra verbosity argument #4456

Open
2 tasks done
dchristensen opened this issue Jan 30, 2025 · 0 comments
Open
2 tasks done

DotNetMSBuild alias generates extra verbosity argument #4456

dchristensen opened this issue Jan 30, 2025 · 0 comments

Comments

@dchristensen
Copy link

Prerequisites

  • I have written a descriptive issue title
  • I have searched issues to ensure it has not already been reported

Cake runner

Cake Frosting

Cake version

5.0.0

Operating system

Windows

Operating system architecture

x64

CI Server

No response

What are you seeing?

When specifying the Verbosity property on the DotNetMsbuildSettings class the dotnet msbuild tool outputs an error:

MSBUILD : error MSB1016: Specify the verbosity level.
Full command line: 'C:\Program Files\dotnet\sdk\8.0.404\MSBuild.dll -maxcpucount -verbosity:m test.proj --verbosity detailed -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\8.0.404\dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,C:\Program Files\dotnet\sdk\8.0.404\dotnet.dll'

What is expected?

The dotnet msbuild command should not include the --verbosity detailed that is included with most of the other DotNet* aliases.

Steps to Reproduce

test.proj

<Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>
  <Target Name="Echo">
    <Message Importance="high" Text="High Message" />
    <Message Importance="normal" Text="Normal Message" />
    <Message Importance="low" Text="Low Message" />
  </Target>
</Project>

Program.cs

using Cake.Common.Tools.DotNet;
using Cake.Common.Tools.DotNet.MSBuild;
using Cake.Core;
using Cake.Frosting;

public static class Program
{
    public static int Main(string[] args)
    {
        return new CakeHost()
            .Run(args);
    }
}

[TaskName("Hello")]
public sealed class HelloTask : FrostingTask
{
	public override void Run(ICakeContext context)
	{
		context.DotNetMSBuild("test.proj", new DotNetMSBuildSettings()
		{
			Verbosity = DotNetVerbosity.Detailed
		});
	}
}

build.csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Cake.Frosting" Version="5.0.0" />
  </ItemGroup>
</Project>

Then run:

dotnet run --project .\build.csproj --target Hello

Output log

C:\Program Files\dotnet\sdk\8.0.404\MSBuild.dll -nologo -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\8.0.404\dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,C:\Program Files\dotnet\sdk\8.0.404\dotnet.dll -maxcpucount -restore -verbosity:m -verbosity:diagnostic .\Build.csproj
Build started 1/30/2025 11:08:11.
Environment at start of build:
MSBuildSDKsPath = C:\Program Files\dotnet\sdk\8.0.404\Sdks
MSBUILDUSESERVER = 0
MSBuildLoadMicrosoftTargetsReadOnly = true
MSBUILDFAILONDRIVEENUMERATINGWILDCARD = 1
DOTNET_CLI_TELEMETRY_SESSIONID = 99d966f0-a5f3-4ce3-b75e-d7afa6a04644
DOTNET_HOST_PATH = C:\Program Files\dotnet\dotnet.exe
MSBuildExtensionsPath = C:\Program Files\dotnet\sdk\8.0.404\

11:08:11.436     0>Process = "C:\Program Files\dotnet\dotnet.exe"
                   MSBuild executable path = "C:\Program Files\dotnet\sdk\8.0.404\MSBuild.dll"
                   Command line arguments = "C:\Program Files\dotnet\sdk\8.0.404\MSBuild.dll -maxcpucount -verbosity:m -nologo -restore .\Build.csproj -nologo -verbosity:diagnostic -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\8.0.404\dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,C:\Program Files\dotnet\sdk\8.0.404\dotnet.dll"
                   MSBuild version = "17.11.9+a69bbaaf5"
                   Based on the Windows registry key LongPathsEnabled, the LongPaths feature is enabled.

//
// snip - bunch of msbuild output...
//

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.93

========================================
Hello
========================================
MSBuild version 17.11.9+a69bbaaf5 for .NET
MSBUILD : error MSB1016: Specify the verbosity level.
    Full command line: 'C:\Program Files\dotnet\sdk\8.0.404\MSBuild.dll -maxcpucount -verbosity:m test.proj --verbosity detailed -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\8.0.404\dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,C:\Program Files\dotnet\sdk\8.0.404\dotnet.dll'
  Switches appended by response files:
Switch: --verbosity

For switch syntax, type "MSBuild -help"
An error occurred when executing task 'Hello'.
Error: .NET CLI: Process returned an error (exit code 1).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant