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
Some traditional .net framework tools now offer dotnet CLI or global tool variants (and with .net core 3.0, those global tools can be installed as local ones), but where Fake offers helper classes, those still assume traditional framework .exe files.
Repro steps
In a project, create a .config/dotnet-tools.json like
At the command line, you can run dotnet reportgenerator, but the Fake.Testing.ReportGenerator.ReportGeneratorParams type has no way to accept that.
Expected behavior
An indicator type (probably in a core module) like type ToolType = DotNet of string | Global | Framework
and an extra .ToolType field in the Params type, defaulting to ToolType.Framework, but when overridden would ignore the .ExePath and execute dotnet [toolname] or [toolname] for ToolType.DotNet (cli and local tool variants, with the string there to allow for possible tool name differences) and ToolType.Global respectively.
Consideration might be given to deprecating .ExePath and defining ... | Framework of String instead, with any non null-or-empty string overriding .ExePath
Actual behavior/Known workarounds
I need to use a raw command executor and roll my own arguments as "dotnet reportgenerator" isn't a valid .ExePath, and the global reportgenerator would be mono-ified on non-Windows platforms
Description
Some traditional .net framework tools now offer dotnet CLI or global tool variants (and with .net core 3.0, those global tools can be installed as local ones), but where Fake offers helper classes, those still assume traditional framework .exe files.
Repro steps
In a project, create a
.config/dotnet-tools.json
likeWith .net core 3.0, run
dotnet tool restore
At the command line, you can run
dotnet reportgenerator
, but theFake.Testing.ReportGenerator.ReportGeneratorParams
type has no way to accept that.Expected behavior
An indicator type (probably in a core module) like
type ToolType = DotNet of string | Global | Framework
and an extra
.ToolType
field in theParams
type, defaulting toToolType.Framework
, but when overridden would ignore the.ExePath
and executedotnet [toolname]
or[toolname]
forToolType.DotNet
(cli and local tool variants, with the string there to allow for possible tool name differences) andToolType.Global
respectively.Consideration might be given to deprecating
.ExePath
and defining... | Framework of String
instead, with any non null-or-empty string overriding.ExePath
Actual behavior/Known workarounds
I need to use a raw command executor and roll my own arguments as "dotnet reportgenerator" isn't a valid
.ExePath
, and the globalreportgenerator
would be mono-ified on non-Windows platformsRelated information
The text was updated successfully, but these errors were encountered: