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
DotNet.test now invokes dotnet.exe twice, once as C:\Program Files\dotnet\dotnet.EXE "msbuild" and once as C:\Program Files\dotnet\dotnet.EXE "test", but the two commands accept different possible sets of arguments.
Repro steps
Script fragment
let setBaseOptions (o : DotNet.Options) =
{ o with WorkingDirectory = Path.getFullName "./_DotnetTest"
Verbosity = Some DotNet.Verbosity.Minimal }
DotNet.test (fun to' -> to'.WithCommon(setBaseOptions))
"dotnettest.fsproj"
The script first emits the dotnet msbuild command with arguments intended for dotnet test, as well as its own /version /nologo
Starting task 'DotNet:test': dotnettest.fsproj
C:\Program Files\dotnet\dotnet.EXE "msbuild" "--verbosity" "minimal" "/version" "/nologo"
MSBUILD : error MSB1001: Unknown switch.
Switch: --verbosity
For switch syntax, type "MSBuild /help"
Could not detect msbuild version from 'C:\Program Files\dotnet\dotnet.EXE msbuild': System.Exception: msbuild failed with exitcode '1'
at Microsoft.FSharp.Core.PrintfModule.PrintFormatToStringThenFail@1645.Invoke(String message)
at [email protected](String args) in D:\a\1\s\src\app\Fake.DotNet.Cli\DotNet.fs:line 865
at Fake.DotNet.MSBuild.getFromCall@660(String exePath, FSharpFunc`2 callMsbuildExe, Unit unitVar0) in D:\a\1\s\src\app\Fake.DotNet.MSBuild\MSBuild.fs:line 662
msbuild version '13.0.0.0' doesn't support binary logger, pelase set the msbuild argument 'DisableInternalBinLog' to 'true' to disable this warning.
then proceeds as expected.
The guidance supplied in the warning message is not relevant to the actual issue; it also contains a typo ("pelase" rather than "please").
Known workarounds
None so far while passing the desired arguments to the dotnet test step.
Still chasing through the code to try and determine why this extra step even happens for dotnet test but not for the extremely similar dotnet publish, and how thereby to switch it off entirely as unwanted.
Related information
Operating system -- WinX Home
Branch -- N/A
.NET Runtime, CoreCLR or Mono Version -- .net core 2.1.402
Indications of severity -- mostly cosmetic
Version of FAKE (4.X, 5.X) -- 5.7
The text was updated successfully, but these errors were encountered:
Thanks, yes for reporting. Please use < 5.7 until this has been resolved or remove the Common arguments for now.
Still chasing through the code to try and determine why this extra step even happens for dotnet test but not for the extremely similar dotnet publish, and how thereby to switch it off entirely as unwanted.
This is in order to check the msbuild version to detect if the version is good enough for the recently (5.7) added binary logger which in turn is used to improve build server integration and error/warning reports
Description
DotNet.test
now invokes dotnet.exe twice, once asC:\Program Files\dotnet\dotnet.EXE "msbuild"
and once asC:\Program Files\dotnet\dotnet.EXE "test"
, but the two commands accept different possible sets of arguments.Repro steps
Script fragment
Expected behavior
Expect build output of the form
etc.
Actual behavior
The script first emits the
dotnet msbuild
command with arguments intended fordotnet test
, as well as its own/version /nologo
then proceeds as expected.
The guidance supplied in the warning message is not relevant to the actual issue; it also contains a typo ("pelase" rather than "please").
Known workarounds
None so far while passing the desired arguments to the
dotnet test
step.Still chasing through the code to try and determine why this extra step even happens for
dotnet test
but not for the extremely similardotnet publish
, and how thereby to switch it off entirely as unwanted.Related information
The text was updated successfully, but these errors were encountered: